我的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);
}
}
});