ie8onScroll事件多次激活问题

叫我三三 2013-04-18 02:19:41


<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下如何只触发一次?
...全文
223 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
叫我三三 2013-04-20
  • 打赏
  • 举报
回复
引用 1 楼 zsx841021 的回复:
$(window).bind("scroll",function(){ //…… }); 试试
这个不行
引用 2 楼 showbo 的回复:
ie8-有这个问题。。用计时器来做。 JavaScript code?12345678910111213141516var s=0;$(document).ready(function () { var timer; $(window).scroll(function () { if (timer) clearTimeout(timer)/……
只能用计时器这个了
叫我三三 2013-04-19
  • 打赏
  • 举报
回复
谢谢两位,回去我试试,手机没测试的
Go 旅城通票 2013-04-19
  • 打赏
  • 举报
回复
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);
    });
});
三石-gary 2013-04-19
  • 打赏
  • 举报
回复
$(window).bind("scroll",function(){ //…… }); 试试

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧