Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery切换按钮,状态为关闭_Jquery_Toggle - Fatal编程技术网

Jquery切换按钮,状态为关闭

Jquery切换按钮,状态为关闭,jquery,toggle,Jquery,Toggle,我有一个按钮,可以切换我的页脚。当前代码以页脚关闭开始。我的问题是如何使默认状态打开?我尝试了几种配置,但不确定什么是正确的。当我在浏览器上检查cookies时,默认状态为“隐藏” // Toggle Button $(document).ready(function() { var button = $('.toggle'); //check the cookie when the page loads if ($.cookie('currentToggle') ==='visible')

我有一个按钮,可以切换我的页脚。当前代码以页脚关闭开始。我的问题是如何使默认状态打开?我尝试了几种配置,但不确定什么是正确的。当我在浏览器上检查cookies时,默认状态为“隐藏”

// 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: '/' });

}
}

我认为您只需要这一行来处理没有cookie集的情况:

if (!$.cookie('currentToggle'))
    $.cookie('currentToggle', 'visible');
将其放在
//加载页面时检查cookie

或者,更简单的是,检查时只需颠倒逻辑即可:

if ($.cookie('currentToggle') === 'hidden') {
    togglePanel(button, true);
} else {
    togglePanel(button, false);
}

cookie的默认状态是它根本不存在。您需要对此进行检查,然后实现所需的默认状态。谢谢您的帮助-确实设置了默认状态。