0
我有以下代码,它从左到右滑动一列,并推动右侧的所有权到右侧,然后再回来(有点像Facebook应用程序)。它在文档准备工作上很好,但不能调整大小。调整大小后,它开始行为奇怪。就好像它正在执行前面的功能,而不是在调整大小时注册新功能。jquery点击功能不重置在浏览器调整大小
function doMenu() {
var $trigger = $(".icon-menu-2");
var $menu = $(".c_left");
var width = $(window).width();
if ((width < 870) && (width > 750)) {
var status = 'closed';
$('.icon-list').on('click', function(event){
if (status === 'closed'){
$menu.animate({
width: 0,
marginLeft: -200,
display: 'toggle'
}, 'fast');
$(".content_right, .navbar").animate({
marginRight: 0,
display: 'toggle'
}, 'fast');
return status = 'open';
} else if (status === 'open') {
$menu.animate({
width: 200,
marginLeft: 0,
display: 'toggle'
}, 'fast');
$(".content_right, .navbar").animate({
marginRight: -120,
display: 'toggle'
}, 'fast');
return status = 'closed';
}
});
}
if (width < 750) {
var status = 'closed';
$('.icon-list').on('click', function(event){
if (status === 'closed'){
$menu.animate({
width: 0,
marginLeft: -200,
display: 'toggle'
}, 'fast');
$(".content_right, .navbar").animate({
marginLeft: 0,
display: 'toggle'
}, 'fast');
return status = 'open';
} else if (status === 'open') {
$menu.animate({
width: 200,
marginLeft: 0,
display: 'toggle'
}, 'fast');
$(".content_right, .navbar").animate({
marginLeft: 200,
display: 'toggle'
}, 'fast');
return status = 'closed';
}
});
}
}
$(document).ready(doMenu);
$(window).resize(doMenu);
编辑 - 改变切换()到(“点击”,函数(事件)的建议之下,但仍然有功能不调整大小正常工作同样的问题
那拨动的'版本()'在jQuery的1.7弃用,在1.9 – adeneo 2013-04-04 12:19:25
好香港专业教育学院删除试图替换$ trigger.toggle(功能显示(){使用$ TRIG ger.click(函数show(){但这不起作用。你能帮助我需要改变什么吗?非常感谢 – LeeTee 2013-04-04 12:54:26
如果您使用的是jQuery 1.9或更新的版本,您需要创建自己的切换功能,因为toggle()只会切换元素的可见性。点击()另一方面也不会工作,因为它没有切换功能,只有一个回调可用。你需要使用click(),并用标志或类似的东西创建一个切换函数。 – adeneo 2013-04-04 12:57:45