日期:2014-05-16  浏览次数:20370 次

求高手看看JS循环代码。
$(window).scroll(function(){
// 当滚动到最底部以上100像素时, 加载新内容
if ($(document).height() - $(this).scrollTop() - $(this).height()<100) loadMore(20);
});


这段代码当滚动到最底部以上100像素时, 加载20条新内容,我想让他加载一次就行,怎么办才能到底部以上100并且加载20条后就不在执行。

------解决方案--------------------
设置一个全局的状态变量,当第一次加载执行完毕,修改这个状态值,下一次不让执行窗口滚动事件。
------解决方案--------------------
var k=0;
$(window).scroll(function(){
 // 当滚动到最底部以上100像素时, 加载新内容
if(k==0)
{
 if ($(document).height() - $(this).scrollTop() - $(this).height()<100) 
{
loadMore(20);k=1;
}
}
 });

------解决方案--------------------

var flag = false;//默认未加载
$(window).scroll(function(){
   if(flag==false){
         // 当滚动到最底部以上100像素时, 加载新内容
        if ($(document).height() - $(this).scrollTop() - $(this).height()<100){
           loadMore(20);//加载一次
           flag = true;
        }
   }
});

------解决方案--------------------
执行一次后 移除 事件 
------解决方案--------------------
设置全局变量控制可以。