Heim >Web-Frontend >HTML-Tutorial >ie8onScroll事件多次激活问题_html/css_WEB-ITnose

ie8onScroll事件多次激活问题_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-21 09:42:511114Durchsuche

<script>var s=0;$(document).ready(function(){    $(window).scroll(function(){        var t=$(window).scrollTop();        setTimeout(function(){            if(t!=2000){                $("#msg").html(++s);                $(window).scrollTop(2000);            }        },1000);    });});</script><div style="height:5000px"></div><div id="msg" style="position:fixed;width:100px"></div>

这段代码在IE9 IE10 chrome 显示的结果都是1

在ie8以下,包括ie8 用鼠标滚轮滚动结果是4,点滚动条上的按键 结果是10,

喵了咪的,搞的在ie8 onScroll事件被触发多次,动画效果乱套了。
有没有高手帮忙ie8下如何只触发一次?

回复讨论(解决方案)

$(window).bind("scroll",function(){  
    //……  
}); 试试

ie8-有这个问题。。用计时器来做。

var s=0;$(document).ready(function () {    var timer;    $(window).scroll(function () {        if (timer) clearTimeout(timer)////        timer = setTimeout(function () {/////            var t = $(window).scrollTop();            setTimeout(function () {                if (t != 2000) {                    $("#msg").html(++s);                    $(window).scrollTop(2000);                }            }, 1000);        }, 10);    });});

谢谢两位,回去我试试,手机没测试的

$(window).bind("scroll",function(){  
    //……  
}); 试试
这个不行

ie8-有这个问题。。用计时器来做。

JavaScript code?12345678910111213141516var s=0;$(document).ready(function () {    var timer;    $(window).scroll(function () {        if (timer) clearTimeout(timer)/……
只能用计时器这个了

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn