js點選平滑定位到指定元素程式碼例項
本章節分享一段程式碼例項,它實現了更為人性化的錨點定位功能。點選一個按鈕可以實現平滑的定位到指定元素功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <title>螞蟻部落</title> <style> *{ margin:0px; padding:0px; } input{ position:fixed; left:50px; top:50px; } #antzone{ width:200px; height:200px; background:green; margin-bottom:800px; margin-top:300px; margin-left:300px; } </style> <script type="text/javascript"> function elementPosition(obj) { var curleft = 0, curtop = 0; if (obj.offsetParent) { curleft = obj.offsetLeft; curtop = obj.offsetTop; while (obj = obj.offsetParent) { curleft += obj.offsetLeft; curtop += obj.offsetTop; } } return { x: curleft, y: curtop }; } function ScrollToControl(id){ var elem = document.getElementById(id); var scrollPos = elementPosition(elem).y; scrollPos = scrollPos - document.documentElement.scrollTop; var remainder = scrollPos % 50; var repeatTimes = (scrollPos - remainder) / 50; ScrollSmoothly(scrollPos,repeatTimes); window.scrollBy(0,remainder); } var repeatCount = 0; var cTimeout; var timeoutIntervals = new Array(); var timeoutIntervalSpeed; function ScrollSmoothly(scrollPos,repeatTimes){ if(repeatCount < repeatTimes){ window.scrollBy(0,50); } else{ repeatCount = 0; clearTimeout(cTimeout); return; } repeatCount++; cTimeout = setTimeout("ScrollSmoothly('"+scrollPos+"','"+repeatTimes+"')",10); } window.onload=function(){ var obt=document.getElementById("bt"); obt.onclick=function(){ ScrollToControl("antzone"); } } </script> </head> <body> <input type="button" id="bt" value="檢視效果"/> <div id="antzone"></div> </body> </html>
相關文章
- 點選可以平滑定位到網頁指定位置網頁
- jQuery實現的錨點平滑定位程式碼例項jQuery
- jQuery點選平滑跳轉到頁面指定位置jQuery
- jquery實現的點選頁面動畫方式平滑定位到某元素程式碼jQuery動畫
- js刪除指定的li元素程式碼例項JS
- 將div元素固定於頁面指定位置程式碼例項
- javascript實現網頁平滑定位程式碼例項JavaScript網頁
- js獲取字串中指定位置字元程式碼例項JS字串字元
- js獲取字串指定位置字元效果程式碼例項JS字串字元
- 在指定位置插入一個新的li元素程式碼例項
- js實現的獲取指定元素的節點封裝程式碼例項JS封裝
- css匹配指定元素的子元素程式碼例項CSS
- javascript獲取指定元素父元素程式碼例項JavaScript
- jquery獲取指定元素的父節點程式碼例項jQuery
- jquery刪除指定元素程式碼例項jQuery
- js判斷陣列中是否含有指定元素程式碼例項JS陣列
- jQuery獲取指定元素的父元素程式碼例項jQuery
- css獲取指定元素的兄弟元素程式碼例項CSS
- 獲取指定元素下所有li元素程式碼例項
- 點選實現隱藏元素本身程式碼例項
- jquery刪除指定子元素程式碼例項jQuery
- javascript刪除指定子元素程式碼例項JavaScript
- css匹配指定行li元素程式碼例項CSS
- js獲取指定位數不重複隨機數程式碼例項JS隨機
- 使用jquery獲取指定元素的子元素程式碼例項jQuery
- js禁止使用滑鼠選中元素內容程式碼例項JS
- js模擬點選連結程式碼例項JS
- jQuery獲取指定的li元素程式碼例項jQuery
- jquery獲取指定元素下所有指定子元素的數目程式碼例項jQuery
- javascript生成指定位數隨機數程式碼例項JavaScript隨機
- js選中指定位置文字框文字程式碼JS
- js元素挨個掉落程式碼例項JS
- js刪除li元素程式碼例項JS
- angularJS操作input元素程式碼例項AngularJS
- js陣列元素排序程式碼例項JS陣列排序
- css禁止選中指定文字程式碼例項CSS
- 點選按鈕顯示或者隱藏元素例項程式碼
- 平滑的滾動listview到一個指定位View