评论

收藏

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

开发技术 开发技术 发布于:2021-07-22 18:55 | 阅读数:541 | 评论:0

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 事件, 只执行第一次方法.

作者:NewSea
如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。


关注下面的标签,发现更多相似文章