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

求教jquery 鼠标滚动到底后,连续执行函数问题
$(window).scroll(function (){

if ($(window).scrollTop()==$(document).height()-$(window).height()){
alert('到底了,开始加载入内容');
}

});

上面是一段,鼠标滚动到底部后,自动加载分页内容的示例。我把他简化了,改成了输出对话框,以便大家好看。

现在我碰到的问题是,我每次滚动鼠标到底后, 他连续弹出三个对话框。 有没有办法,让他每次鼠标滚动到底后,只执行一次?不要一次动作重复执行好几编函数,  因为我中间调的ajax ,也随着他一下调出了三次数据。

我看大门户, 他们滚一下,就只执行一次。求解。 
------解决方案--------------------
IE浏览器。。。有这个bug,和resize事件一样,你用计时器延时执行下代码就好了


   var timer;//
    $(window).scroll(function () {

        if ($(window).scrollTop() == $(document).height() - $(window).height()) {
            clearInterval(timer);///////
            timer = setTimeout(function () {
                alert('到底了,开始加载入内容');
            }, 0);
        }

    });