2012-01-04 13 views
0

私は、クッキーが存在し、フェードインしていないかどうかを調べようとしています。ユーザーが閉じるボタンをクリックすると、フェードアウトします。私は間違って何をしていますか?Jquery Cookie読み取りと設定

のjQuery

$(function() { 
    if ($.cookie("demoCookie") == null) { 
     $("#headerFactInfo").fadeIn(); 
    }; 

    $("#headerFactInfoClose").click(function() { 
     $("#headerFactInfo").fadeOut(); 
     $.cookie('demoCookie', '1', { expires: 7, path: '/' }); 
    }); 
}); 

Htmlの

<div id="headerFactInfo">The Great Add <a href="" id="headerFactInfoClose" >Close</a></div> 
+0

問題が何ですか。何が起こっているのか、*起こっていないのか? –

+0

それはうまくいきません、それはクッキーを設定しません、それは消えていない限り、私はクッキーを読んでいないことを伝えることができます。 – Jacinto

+0

JSコンソールにエラーメッセージが表示されますか?そして、おそらくこれは明白ですが、その場合には:クッキープラグイン用のJSファイルを含めることを覚えましたか(jQueryの中核部分ではありません)。 – nnnnnn

答えて

1

あなたのコードは正常に動作するようです:http://jsfiddle.net/wPP6Y/

$("#headerFactInfoClose").click(function() { 
    $("#headerFactInfo").fadeOut(); 
    $.cookie('demoCookie', '1', { expires: 7, path: '/' }); 

    return false; // Prevent the link to actually follow the href 
}); 

FirefoxやChromeのdeveloper tools、またはクッキーで遊ぶためにあなたのお気に入りのブラウザの同等のために使用FirebugをJS

CSS

/* It's hard to tell whether it's fading in 
* or not if it's always visible 
*/ 
#headerFactInfo { 
    display: none; 
} 

:私は2の修正を行いました。

+0

お返事ありがとうございました。 – Jacinto

0

あなたが意味する場合は、クッキーのチェックをしてみてください、そして、機能していません。

 

$(function() { 
    var Cooki = $.cookie('demoCookie'); 

    if (Cooki == null) { 
     $("#headerFactInfo").fadeIn(); 
    } 

    $("#headerFactInfoClose").click(function() { 
     $("#headerFactInfo").fadeOut(); 
     $.cookie('demoCookie', '1', { expires: 7, path: '/' }); 
    }); 
}); 

 
+0

私は、なぜ比較が違いを生む前に、関数の戻り値を変数に格納すると思いますか? (または、私の見ていないコードに何か他の変更がありますか?) – nnnnnn

+0

今のところ、それは機能しません。フェードインしません。クッキーを作成せず、クッキーがある場合は読んでくださいが、これは単にクッキーを作成できないためかもしれません。だから私は間違ってやっていることを知らない。 – Jacinto

関連する問題