2011-07-16 3 views
2

したがって、ユーザーが何かをクリックした後、divが左側から飛び出します。ユーザーが別のページに移動したときにdivを表示するにはどうすればよいですか?

JavaScriptでdivが「表示」か「非表示」かどうかをCookieで保存します。

したがって、ユーザーが別のページに移動することを決定した場合、divを表示するかどうかをチェックします。

私が抱えている問題は、ユーザーが別のページに行くと、1秒間divが「点滅」することです。これは、HTML、CSS、およびJavaScriptが読み込まれるまでに数秒かかることが原因であることがわかります。

しかし、これを行う方法については、より良い方法があるのだろうかと思っていましたか?だから、それは "点滅しない"。

私はまた、JavaScriptをhead(下から)に移動しようとしましたが、これも変更されませんでした。 :/

+1

これを行うための唯一の方法は、AJAX経由でページ全体を読み込むことですが、これはJSサポート、URLなどに関しては欠点があります。 'body'タグの先頭に' div'を付けます – bcoughlan

+0

ああ、スマートな考え方。私は一番下のdivを持っていた。ヒント:; –

答えて

0

はdocument.readyの中にあなたのJavaScriptがありますか?あなたがちらつきを避けたいのであれば、本当にそうではありません。私はちょうどそれ自身の小さなスクリプトの頭にそれを追加し、html要素にクラスを追加するためにそれを使用します。次に、そのクラスが存在するときに表示されるdivのスタイルを設定します。

+0

Yah、私はそれをdocument.readyの中に入れました。 Lemmeあなたの方法でそれを試してみてください。 –

+0

domでターゲティングしている要素の後にスクリプトが表示されていることを確認してください – lnrbob

1

単純な解決策は、divのデフォルト値としてdisplay:noneをCSSに適用し、それに応じてjQueryから変更することができます。

+0

私のデフォルト値は 'marign-right:0px;'ですが、同じ効果があるはずですが、ページが読み込まれたときにdivを表示する必要がある場合は "flicker"が残っています。 :/ –

+0

'display:none'をデフォルトに設定した場合、javascriptは' div'を何も表示せずにちらつきを表示します。必要であれば、条件が満たされたかどうかをチェックするときに表示されます。 – Sotiris

+0

@Sotiris - 私は、@krysisのフリッカーは、javascriptが表示されているときに表示されるdivだと思います。 – lnrbob

0

あなたは正しいコード方法論に近づいていますが、DIVが表示された状態でページを開始してから、元に戻すようにアニメーションすることができます。これは、あなたのdiv(あなたのdiv)が表示される可能性のあるものがあり、それが正しくロードされることをユーザーに示唆しています。

0

メインナビゲーションのブラウザウィンドウのサイズであるiFrameを使用し、オーバーレイ作業をiFrameの外で行うことができます。

関連する問題