2012-01-13 15 views
0

小さなjQuery Cookieスクリプトを見つけたので、ユーザーが最初にサイトにアクセスしたときにサイト上部のdivが表示されます。ユーザはそのdivを閉じることを選択することができ、その選択は後で短期間記憶される。jQueryクッキーでの表示/非表示

今はうまく動作しますが、私は.hideを適用しようとします。スクリプトに「高速」を表示しますが、.cssプロパティを変更すると効果があります。しかし、私はいくつかのバグがリフレッシュされます:それはまだ私の選択を覚えているように機能しますが、展開/ collaspeは適切な場所にあることができません。

誰でも手助けできますか? JSコード:

$(document).ready(function() { 
// LEFT COLUMN: 
    // When the collapse button is clicked: 
    $('.collapse').click(function() { 
    $('.collapse').css("display","none"); 
    $('.expand').css("display","block"); 
    $('#actionbar').css("height","0px"); 
    $.cookie('actionbar', 'collapsed'); 
    }); 
    // When the expand button is clicked: 
    $('.expand').click(function() { 
    $('.expand').css("display","none"); 
    $('.collapse').css("display","block"); 
    $('#actionbar').css("height","70px"); 
    $.cookie('actionbar', 'expanded'); 
    }); 
// COOKIES 
    // Left column state 
    var actionbar = $.cookie('actionbar'); 
    // Set the user's selection for the left column 
    if (actionbar == 'collapsed') { 
    $('.collapse').css("display","none"); 
    $('.expand').css("display","block"); 
    $('#actionbar').css("height","0px"); 
    }; 
}); 

そして、私のCSS:

.expand { 
    width:11px; 
    height:11px; 
    background:red; 
    position:absolute; 
    left:100px; 
    top:90px; 
    display:none; 
} 
.collapse { 
    width:11px; 
    height:11px; 
    background:red; 
    position:absolute; 
    right:5px; 
    top:4px; 
} 
+0

CSSの 'display'プロパティを手動で設定する代わりに、' .hide() 'と' .show() 'を使うべきです! – ThiefMaster

+0

エラーの画像があなたにもう少し答えを与えるのに役立つかもしれません。権限をまだ持っていない場合は、その権限をリンクしてください。 – Kieran

+0

サーバー側のスクリプト作成を検討しましたか? – Wex

答えて

0

たぶん代わりに、クラスをcookie'ingイベントを弄ぶ天使しようとしています。たとえば、展開または折りたたまれた状態で保存しますが、エンドページのスクリプトを配置して、そのCookieと折りたたまれた/展開されたプロパティを確認し、coorect要素のクリックアクションを実行しますか?

+0

私に例を挙げてもらえますか? – Doidgey

関連する問題