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