質問

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する

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top