Js 事件多次被触发的解决方案.

Js 中的有些事件: 如 onscroll , onresize , 会被多次触发,而且,不同浏览器之前触发次数可能不一致. 这个问题很烦人.

决定做一个方案出来解决所有的问题.

其实关于界面上的问题,是允许一点点时间延迟的. 比如说 500 ms ,而多次触发的事件,可以忽略时间差的. 这是基础.

先上代码

            var lastTimer;
$(window).scroll(function (e) {
if (lastTimer) lastTimer.stop();
lastTimer = $.timer(500, function (timer) {
timer.stop();
ExecJsUIEvent(e);
});

});

 

代码很简单,原理很清晰. 在 500ms 之内产生的 Scroll 事件, 只执行第一次方法.

-----------------------------------------------------------以上方法不对.---------------------------------

使用以下方法解决:

http://blog.csdn.net/phpandjava/article/details/5860355

 

posted @ 2012-03-19 18:19  NewSea  阅读(11345)  评论(1编辑  收藏  举报