为了账号安全,请及时绑定邮箱和手机立即绑定

修改了scrollTop的值,不会触发onscroll事件吗?

window.onload = function() {

var obtn = document.getElementById('btn');

var clientHeight = document.documentElement.clientHeight || document.body.clientHeight;

var timer = null;

var isTop = true;


window.onscroll = function() {

var osTop = document.documentElement.scrollTop || document.body.scrollTop;

if (osTop >= clientHeight) {

obtn.style.display = 'block';

} else {

obtn.style.display = 'none';

}

if (!isTop) {

clearInterval(timer);

}

isTop = false;

};


obtn.onclick = function() {


//设置定时器

timer = setInterval(function() {


var osTop = document.documentElement.scrollTop || document.body.scrollTop;

var ispeed = Math.floor(-osTop / 6);

document.documentElement.scrollTop = document.body.scrollTop = osTop + ispeed;


isTop = true;

console.log(osTop - ispeed);

if (osTop == 0) {

clearInterval(timer);

}

}, 30);

}

}

在onclick的方法中,修改了scrollTop的值不会触发onscroll事件吗????事实上这段代码能运行成功。我不知道为什么不会,我觉得应该会呀。

正在回答

3 回答

这个问题你解决了吗我还是不明白阿

0 回复 有任何疑惑可以回复我~

另外 不需要isTop 这个变量。。。

0 回复 有任何疑惑可以回复我~

看错了。的确是每次都执行了。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
回到顶部效果
  • 参与学习       44211    人
  • 解答问题       206    个

回到顶部网站不可缺少的一部分,用JS实现炫酷拉风的回到顶部效果

进入课程

修改了scrollTop的值,不会触发onscroll事件吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信