js滚动到指定元素
标签:
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>
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦