2017-11-21 3 views
0

私はこのS.Oの記事をガイダンスとして使用しています。私はthisウェルカムdivがページの上に重ねて表示されてから消えていくのが好きです。私は自分自身を複製しようとしていますが、各ユーザに対して一度だけ機能を実行します。オーバーレイ「ウェルカム」DIVはブラウザごとに1人のユーザーにしか表示されません

問題は、私のjQueryを使って明確である:

$(function() { 
     var showLoad = localStorage.getItem('showLoad'); 
      if (showLoad == null) { 
       localStorage.setItem('showLoad ', 1); 

       $('#load').show(); 
        setTimeout(function(){ 
         $('#load').addClass("loaded"); 
        }, 3000); 
      } 
    }); 

setTimeoutせず、これが最初に動作しますが、この後、#load div要素が固定されたまま、addClassが適用されています。 Web Storageはこれに最も適しています。

CSS:

.loaded { 
    opacity: 0; 
    visibility: hidden 
} 
#load { 
    position: fixed; 
    width: 100%; 
    height: 100%; 
    z-index: 2000; 
    background: #000; 
    color: #fff; 
    transition: 500ms all 
} 
#load > p { 
    top: 50%; 
    width: 80%; 
    margin: auto; 
    position:absolute; 
    text-align: center 
} 

ここでは、それが働いてjsFiddle

答えて

1

です。 CSSの#load divにdisplay: noneを追加する必要があります。そうしないと、非表示になることはありません。

https://jsfiddle.net/2ag0bkr3/1/

+0

ありがとうございます!これは本当にそれを解決しました。別のブラウザで新しいウィンドウを開くと、ようこそページが読み込まれます。面白いことに、現在のブラウザを閉じてページを表示すると、ウェルカムdivは表示されません。ブラウザが閉じたときにローカルストレージが消去されたということは私の頭の中にありました。ここには該当しないのでしょうか? – davvv

+0

いいえ、[localstorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)のポイントは、セッション間で値を保持することです。あなたが[sessionstorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage)を探しているように聞こえます(しかし、 "session"は "browser open" ") – JDB

+0

あなたがシークレットモードのウィンドウにいる場合、それは消去されます。クッキーのようなビット。そして、あなたは大歓迎です。あなたの質問に答えた場合、Upvoteと答えとして設定してください:)ありがとう –

関連する問題