如何在缩放浏览器时向下滑动jQuery slideToggle

时间:2014-03-19 13:49:57

标签: javascript jquery html css

我的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/

1 个答案:

答案 0 :(得分:1)

尝试这是否适合您。我已添加以检查宽度是否为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);
    }
}
});