[JavaScript] JavaScript控制网页平滑的滚动到指定的元素位置 →→→→→进入此内容的聊天室

来自 , 2019-08-28, 写在 JavaScript, 查看 115 次.
URL http://www.code666.cn/view/69783ee7
  1. function elementPosition(obj) {
  2.         var curleft = 0, curtop = 0;
  3.  
  4.         if (obj.offsetParent) {
  5.             curleft = obj.offsetLeft;
  6.             curtop = obj.offsetTop;
  7.  
  8.             while (obj = obj.offsetParent) {
  9.                 curleft += obj.offsetLeft;
  10.                 curtop += obj.offsetTop;
  11.             }
  12.         }
  13.  
  14.         return { x: curleft, y: curtop };
  15.     }
  16.  
  17.   function ScrollToControl(id)
  18.         {
  19.             var elem =  document.getElementById(id);
  20.             var scrollPos = elementPosition(elem).y;
  21.             scrollPos = scrollPos - document.documentElement.scrollTop;
  22.             var remainder = scrollPos % 50;
  23.             var repeatTimes = (scrollPos - remainder) / 50;
  24.             ScrollSmoothly(scrollPos,repeatTimes);
  25.             window.scrollBy(0,remainder);
  26.         }
  27.         var repeatCount = 0;
  28.         var cTimeout;
  29.         var timeoutIntervals = new Array();
  30.        
  31.         var timeoutIntervalSpeed;
  32.         function ScrollSmoothly(scrollPos,repeatTimes)
  33.         {
  34.                 if(repeatCount < repeatTimes)
  35.                 {
  36.                 window.scrollBy(0,50);
  37.                 }
  38.                 else
  39.                 {
  40.                 repeatCount = 0;
  41.                 clearTimeout(cTimeout);
  42.                 return;
  43.                 }
  44.         repeatCount++;
  45.         cTimeout = setTimeout("ScrollSmoothly('" + scrollPos + "','"+ repeatTimes +"')",10);
  46.         }
  47.  
  48.  
  49. //javascript/6192

回复 "JavaScript控制网页平滑的滚动到指定的元素位置"

这儿你可以回复上面这条便签

captcha