0

私のjsファイルでは、開発中の新しいエアアプリで「スプラッシュスクリーン」をロードできるようにしたいと考えています。現在、スプラッシュ画面を呼び出すと正常に開閉しますが、Cookie を設定するとまったく実行されません。助けてください...

    cookieSplash();

function cookieSplash(){
    var cookieSplash = $.cookie('loadSplash');
    if (cookieSplash == "true") {
        splash();
    };
    if (cookieSplash == "false") {
        loadApplication();
    };
}
function splash(){
    $("#viewport").append('<div id="splash"><img id="splash-close" src="/images/splash-logo.png" alt="click to close"></div>');
    $("#splash").click(function() {
        // Act on the event
        $("#splash").fadeOut("slow");
        $("#jettison").fadeIn("fast");
        $.cookie("loadSplash", "false");
    });
}
function loadApplication(){
    $("#jettison").fadeIn("fast");
}

私を助けてください

4

3 に答える 3

0

が含まれていることを確認してくださいjquery_cookie.js。持っている場合は、Firefox / Firebugを使用して、JavaScriptエラーがないかコンソールを確認することをお勧めします。

于 2010-03-18T12:11:16.117 に答える
0

その最初の関数は異なるはずです。設定されていないCookieは、「true」や「false」(@ rochalが示すように、ブール値ではなく文字列)のような値にはなりません。nullになります。また、Cookieがスプラッシュ画面を表示する必要があるかどうかを追跡している場合、最初はどのように価値がありますか?

function cookieSplash(){
  var cookieSplash = $.cookie('loadSplash');
  if (cookieSplash)
      splash();
  else
      loadApplication();
}

function splash() {
  $("#viewport").append('<div id="splash"><img id="splash-close" src="/images/splash-logo.png" alt="click to close"></div>');
  $("#splash").click(function() {
      // Act on the event
      $("#splash").fadeOut("slow");
      $("#jettison").fadeIn("fast");
      $.cookie("loadSplash", "done");
  });
}
于 2010-03-18T12:49:14.450 に答える
0

jQuery Cookie のデモ ページによると、Cookie の設定が正しくありません。次の構文例を使用します。

設定するには:

$.cookie("MySplashCookie", true, { expires: 10 })

読むには:

$.cookie("MySplashCookie")

ノート:

"true" != true
"false" != false

正しいタイプも保存していることを確認してください。

于 2010-03-18T12:19:44.707 に答える