解决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++;}); |
浙公网安备 33010602011771号