解决jQuery的resize事件执行两次的方法

 昨天在使用jQuery的resize事件时发现每次改变浏览器的窗口大小时resize时间会执行两次,百度搜索了一下没有找到原因的所在,但找到一个解决的方法,使用setTimeout来解决这个问题(感觉有点瑕疵),代码如下:

1
2
3
4
5
var resizeTimer = null;
$(window).resize(function() {
    if (resizeTimer) clearTimeout(resizeTimer);
    resizeTimer = setTimeout("alert('mm')", 500);
});

自己也想了一个比较简单的方法,通过判断变量的奇偶来解决(感觉这方法还行),代码如下:

1
2
3
4
5
6
7
var n=0;
$(window).resize(function(){
    if(n%2==0){
        alert("mm");
    }
    n++;
});

posted on 2013-05-07 18:25  一个石头  阅读(717)  评论(0)    收藏  举报