0

フッターを切り替えるボタンがあります。現在のコードは、フッターを閉じた状態で始まります。私の質問は、デフォルトの状態が開かれるようにするにはどうすればよいですか? いくつかの設定を試しましたが、何が正しいのかわかりません。ブラウザで Cookie を確認すると、デフォルトの状態は「非表示」になっています。

// Toggle Button

$(document).ready(function() {
var button = $('.toggle');

//check the cookie when the page loads
if ($.cookie('currentToggle') ==='visible') {
    togglePanel(button, false);
}
    else {
     togglePanel(button, true);

}

//handle the clicking of the show/hide toggle button
button.click(function() {
    //toggle the panel as required, base on current state
    if (button.text() === "-") {
        togglePanel($(this), true);
    }
    else {
        togglePanel($(this), false);

    }
});

});

function togglePanel(button, show) {

var panel = $('footer');

if (show) {
    panel.slideUp('slow');
    button.text('+');
    $.cookie('currentToggle', 'hidden', { path: '/' });

}
else {
    panel.slideDown('slow');
    button.text('-');
    $.cookie('currentToggle', 'visible', { path: '/' });

}
}
4

1 に答える 1

0

Cookie が設定されていない場合に対処するには、次の行が必要になると思います。

if (!$.cookie('currentToggle'))
    $.cookie('currentToggle', 'visible');

直前に置く//check the cookie when the page loads

または、さらに簡単に、チェックするときにロジックを逆にするだけです。

if ($.cookie('currentToggle') === 'hidden') {
    togglePanel(button, true);
} else {
    togglePanel(button, false);
}
于 2012-12-17T08:15:54.137 に答える