js滾動到指定元素
標(biāo)簽:
JavaScript
代码:
<style>button{ position: fixed; bottom: 0; right: 0;}</style><button id="button">click to see</button><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>2</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>3</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><a id="ele" href="#">see me</a><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>3</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>4</p><p>1</p><p>1</p><script>var button = document.getElementsByTagName('button')[0]button.onclick = function(){ clickToSee('ele') }function clickToSee(id,time = 1){ var c_top = document.body.scrollTop var ele = document.getElementById(id) var e_top = ele.offsetTop var diff = e_top - c_top var step = diff/100 time = time/100*1000 var o_flag if(diff>0){ o_flag = true }else{ o_flag = false } var timer = setInterval(function(){ var c_flag diff -= step window.scrollBy(0,step) if(diff>0){ c_flag = true }else{ c_flag = false } if(!o_flag === c_flag){ clearInterval(timer) } console.log(diff) },time)}</script>
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦