返回顶部按钮渐进渐出的显示出来,可问题是,如果只执行一次!如果判断大于小于,动一下就来一个事件。不想用 jQuery 等第三方库。
function progressiveDisplayBack2Top(){
var needDisp = document.getElementById('back-to-top');
function setProgressive(leftNum, interval, upORdown) {
if (Boolean(upORdown)) {
var leftNum = leftNum + 0.01;
if (leftNum > 1) return true;
needDisp.style.opacity = leftNum;
} else {
var leftNum = leftNum - 0.01;
if (leftNum < 0) return true;
needDisp.style.opacity = leftNum;
}
setTimeout(function() {
setProgressive(leftNum, interval, upORdown);
}, interval);
}
if (document.body.scrollTop > 700){
setProgressive(0.01, 10, true);
}
if (document.body.scrollTop < 700){
setProgressive(1, 10, false);
}
}
addOnloader(function() {
addOnScrollEvent(progressiveDisplayBack2Top);
});
1
Septembers 2015-09-26 20:59:06 +08:00
有个概念叫"去抖动"
|
2
lixia625 2015-09-26 21:14:23 +08:00 via Android
最简单的 难道不是一个 boolean 的事?
|
3
emric 2015-09-26 21:39:49 +08:00
函数节流, 函数去抖. 同时对楼主谴责, 连续提 3 个搜索能够得到答案的问题.
|