js滾動到指定元素
阿新 • • 發佈:2018-05-13
js滾動到指定元素代碼:
效果:
<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>
js滾動到指定元素