
返回顶部按钮渐进渐出的显示出来,可问题是,如果只执行一次!如果判断大于小于,动一下就来一个事件。不想用 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 个搜索能够得到答案的问题. |