修改了scrollTop的值,不會觸發(fā)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() {
//設(shè)置定時器
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的值不會觸發(fā)onscroll事件嗎????事實上這段代碼能運行成功。我不知道為什么不會,我覺得應(yīng)該會呀。
2022-03-26
這個問題你解決了嗎我還是不明白阿贊隨機數(shù)生成方法!
2017-02-04
另外 不需要isTop 這個變量。。。
2017-02-04
看錯了。的確是每次都執(zhí)行了。