> 웹 프론트엔드 > HTML 튜토리얼 > ie8onScroll事件多次激活问题_html/css_WEB-ITnose

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

WBOY
풀어 주다: 2016-06-21 09:42:51
원래의
1104명이 탐색했습니다.

<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)/……
只能用计时器这个了

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿