我的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');
});
我的代码
答案 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);
}
}
});