本文实例讲述了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); }
使用方法:
ScrollToControl('elementID');
页面将会平滑的滚动到元素elementID所在的位置
希望本文所述对大家的javascript程序设计有所帮助。
您可能感兴趣的文章:
- JavaScript与JQUERY获取元素的宽、高和位置
- js从数组中删除指定值(不是指定位置)的元素实现代码
- JS实现随页面滚动显示/隐藏窗口固定位置元素
- javascript实现拖动元素交换位置
- js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
- 在JS数组特定索引处指定位置插入元素的技巧
- 在JS数组特定索引处指定位置插入元素
- JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
- JS中获取 DOM 元素的绝对位置实例详解