質問
Web サイトのトップページにフェードインする次のような簡単なスクリプトがあります。
jQuery(document).ready(function(){
$('body.home').hide();
$('body.home').fadeIn('slow');
});
ただし、Web サイトが最初に読み込まれたときに、スクリプトが 1 回だけ機能するようにしたいと考えています。その後のクリックで、たとえば、ユーザーが 2 番目のページに移動してからホームページに戻ったとき、ホームページが再びフェードインすることは望ましくありません。フェードせずにホームページを読み込むだけである必要があります。
jQueryコードだけでそれを行う方法はありますか、おそらく何らかの方法で関数を1回だけ実行し、その後実行を停止しますか?ヒントやコード スニペットは大歓迎です。
解決
サイトの「他の部分」をロードしている場合のみ AJAX
を呼び出すと、そのアクションをすでに実行したことを示す値をグローバル JavaScript 名前空間に保存できます。
それ以外の場合は、ページを完全に更新する (別のサイトにリダイレクトする) ことになり、クリーンな JavaScript ソリューションは存在しません。その場合、保存する必要があります cookie
, を利用してください。 local storage
または、サーバー スクリプトを実行します。
他のヒント
あなたはクッキーを設定することができます。
$(function () {
if ($.cookie("loaded") != "true") {
$('body.home').hide().fadeIn('slow');
$.cookie("loaded", "true");
}
});
あなたは、PHPの世界に飛び込むことができない1 ..フェード中であった場合、セッションが存在するかどうかを確認します。 あなたはこのルートを下るしたい場合、私はいくつかのコードを投稿することができます。
素早く読み取り、PHPとセッションへの新しい場合: http://www.tizag.com/phpT/phpsessions.phpする
所属していません StackOverflow