我的slideToggle函数有问题。一旦按下它就会打开我需要的方式。但是,当我缩放浏览器以测试对该站点的响应流时,slideToggle仍然保持活动状态,而不是向下滑动。我尝试了一些功能,但似乎无济于事。以下是我使用的脚本,当代码遇到特定的屏幕显示时,代码不会向下滑动。我将如何解决此问题?

$('#more').click(function () {
     var open = $('header').is('.open');
$('#footerPanel')['slide' + (open ? 'Up' : 'Down')](400);
$('header').animate({
     bottom: (open ? '-' : '+') + '=120' }, 400, function () {
$('header').toggleClass('open');
     });
});
$('#menu').click(function () {
    if ($('header').is('.open')) {
    $('header')
        .removeClass('open')
        .animate({
        'bottom': "-=120"
    }, function () {
        var $footer = $('.activetoggle');

        if ($footer.length)
            $footer
                .toggleClass('activetoggle footerButton')
                .text('Footer');
    });
    $('#footerPanel').slideUp(400);
}
});

 $('.footerButton').click(function () {
      var $this = $(this);
$this.toggleClass('footerButton');
if ($this.hasClass('footerButton')) {
    $this.text('Footer');
} else {
    $this.text('Close');
}
$(this).toggleClass('activetoggle');
});


我的密码

http://jsfiddle.net/wyze/XqUp4/4/

最佳答案

尝试一下是否适合您。我添加了检查面板向下滑动时宽度是否为780(可以更改)的方法。尝试在您的小提琴中添加此内容,然后检查是否可行

$(window).resize(function(){ //check when window resize
if($(window).width() < 780){ // check when the window width is less than 780
    if ($('header').is('.open')) {
        $('header')
            .removeClass('open')
            .animate({
            'bottom': "-=120"
        });
        $footer = $('.activetoggle');
        if ($footer.length) {
             $footer.toggleClass('activetoggle footerButton').text('Footer');
        }
        $('#footerPanel').slideToggle(400);
    }
}
});

07-24 09:15