Javascript在不打算运行的情况下运行多次

Javascript running more than once when its not intended to

本文关键字:运行 情况下 Javascript      更新时间:2023-09-26

我有一次运行时遇到了问题,我不确定我做错了什么,因为之前我添加了滚动高度效果,效果很好。

$(window).scroll(function() {
    var y_scroll_pos = window.pageYOffset;
    var scroll_pos_test = 450;
 if(y_scroll_pos > scroll_pos_test) { 

 $('#coins').lazylinepainter( 
 {
    "svgData": pathObj,
    "strokeWidth": 4,
    "strokeColor": "#8E9CCD"
}).lazylinepainter('paint'); 
}

John Resig有一篇博客文章描述了如何正确处理多次触发的滚动事件:http://ejohn.org/blog/learning-from-twitter/

长话短说,你需要定期检查用户是否滚动并执行你的代码。你的代码应该是这样的(取自同一篇博客文章):

var outerPane = $details.find(".details-pane-outer"),
    didScroll = false;
$(window).scroll(function() {
    didScroll = true;
});
setInterval(function() {
    if ( didScroll ) {
        didScroll = false;
        // Check your page position and then
        // Load in more results
    }
}, 250);