
返回顶部按钮渐进渐出的显示出来,可问题是,如果只执行一次!如果判断大于小于,动一下就来一个事件。不想用 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 Sep 26, 2015 有个概念叫"去抖动" |
2 lixia625 Sep 26, 2015 via Android 最简单的 难道不是一个 boolean 的事? |
3 emric Sep 26, 2015 函数节流, 函数去抖. 同时对楼主谴责, 连续提 3 个搜索能够得到答案的问题. |