在小於600px的屏幕上查看時,我有一個隱藏在手風琴中的菜單。 在大於600px的屏幕上,菜單是可見的。調整大小的手風琴循環
jsfiddle
- http://jsfiddle.net/ashatron/zbzqoz2f/
它工作正常,但是當我調整窗口的大小比600px的大,然後回到小於600px的,然後按查看站點地圖它循環動畫多次。
我認爲它運行每個resize事件的函數,這是排隊的手風琴,然後循環它。但我不確定如何最好地命令語法來使它工作。
任何幫助,將不勝感激!
footernavmenufn = function() {
var current_width = $(window).width();
if (current_width < 600) {
$('.footer-accordion-head').show();
$('.footer-accordion-body').hide();
$('.footer-accordion-head').click(function() {
$(".footer-accordion-body").slideToggle('400');
// console.log('hmmm');
return false;
}).next().hide();
} else {
$('.footer-accordion-head').hide();
$('.footer-accordion-body').show();
}
};
$(document).ready(function() {
footernavmenufn();
});
$(window).resize(function(){
footernavmenufn();
//console.log('OMG-WHY-YOU-NO-WORK');
});
每次調用'。點擊()'又增加了綁定。而且,這些在任何時候都不會被解除約束。因此,如果在600像素以下繼續調整窗口大小,最終可能會有100個處理程序,每個處理程序都準備排隊另一個'slideToggle()'。 – 2014-09-02 15:46:15