一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

javascript 動態數據下的錨點錯位問題解決方法

復制代碼 代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>用 Javascript 實現錨點(Anchor)間平滑跳轉</title>
  <script language="Javascript">
  // 說明 :用 Javascript 實現錨點(Anchor)間平滑跳轉
  
  // 轉換為數字
  function intval(v)
  {  
  v = parseInt(v);  
  return isNaN(v) ? 0 : v;
  } 
  // 獲取元素信息
  function getPos(e)
  {  
  var l = 0;  
  var t = 0;  
  var w = intval(e.style.width);  
  var h = intval(e.style.height);  
  var wb = e.offsetWidth;  
  var hb = e.offsetHeight;  
  while (e.offsetParent)
  {    
   l += e.offsetLeft + (e.currentStyle?intval(e.currentStyle.borderLeftWidth):0);    
   t += e.offsetTop + (e.currentStyle?intval(e.currentStyle.borderTopWidth):0);    
   e = e.offsetParent;  
   }  
   l += e.offsetLeft + (e.currentStyle?intval(e.currentStyle.borderLeftWidth):0);  
   t += e.offsetTop + (e.currentStyle?intval(e.currentStyle.borderTopWidth):0);  
   return {x:l, y:t, w:w, h:h, wb:wb, hb:hb}; } 
   // 獲取滾動條信息
   function getScroll() 
   {  
   var t, l, w, h;     
   if (document.documentElement && document.documentElement.scrollTop)
   {    
   t = document.documentElement.scrollTop;    
   l = document.documentElement.scrollLeft;    
   w = document.documentElement.scrollWidth;    
   h = document.documentElement.scrollHeight;  
   }
   else if (document.body)
   {    
   t = document.body.scrollTop;    
   l = document.body.scrollLeft;    
   w = document.body.scrollWidth;    
   h = document.body.scrollHeight;  
   }  
   return { t: t, l: l, w: w, h: h };
   } 
   // 錨點(Anchor)間平滑跳轉
   function scroller(el, duration)
   {  
   if(typeof el != 'object')
   {
   el = document.getElementById(el);
   }   
   if(!el) return;   
   var z = this;  
   z.el = el;  
   z.p = getPos(el);  
   z.s = getScroll();  
   z.clear = function()
   {
   window.clearInterval(z.timer);z.timer=null
   };  
   z.t=(new Date).getTime();   
   z.step = function()
   {    
   var t = (new Date).getTime();    
   var p = (t - z.t) / duration;    
   if (t >= duration + z.t)
   {      
   z.clear();      
   window.setTimeout(function(){z.scroll(z.p.y, z.p.x)},13);     }
   else {      
   st = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.p.y-z.s.t) + z.s.t;      
   sl = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.p.x-z.s.l) + z.s.l;      
   z.scroll(st, sl);    
   }  
   };  
   z.scroll = function (t, l){window.scrollTo(l, t-20)};  
   z.timer = window.setInterval(function(){z.step();},13);
   }
  </script>
  <style type="text/css">
  div.test
  {  
  width:400px;   margin:5px auto;   border:1px solid #ccc;
  }
  div.test strong
  {   font-size:16px;   background:#fff;   border-bottom:1px solid #aaa;   margin:0;   display:block;   padding:5px 0;   text-decoration:underline;   color:#059B9A;   cursor:pointer; } div.test p {   height:400px;   background:#f1f1f1;   margin:0;
  }
   </style>
</head>
<body>
  <form id="form1" runat="server">
  <div class="test">  
  <a name="header_1" id="header_1"></a>  
  <strong onclick="Javascript:scroller('header_4', 800);">header_1 --> header_4</strong><p></p>
  </div> 
  <div class="test">  
  <a name="header_2" id="header_2"></a>  
  <strong onclick="Javascript:scroller('header_5', 800);">header_2 --> header_5</strong><p></p>
  </div> 
  <div class="test">  
  <a name="header_3" id="header_3"></a>  
  <strong onclick="Javascript:scroller('header_6', 800);">header_3 --> header_6</strong><p></p>
  </div> 
  <div class="test">  
  <a name="header_4" id="header_4"></a>  
  <strong onclick="Javascript:scroller('header_7', 800);">header_4 --> header_7</strong><p></p>
  </div> 
  <div class="test">  
  <a name="header_5" id="header_5"></a>  
  <strong onclick="Javascript:scroller('header_3', 800);">header_5 --> header_3</strong><p></p>
  </div> 
  <div class="test">  
  <a name="header_6" id="header_6"></a>  
  <strong onclick="Javascript:scroller('header_2', 800);">header_6 --> header_2</strong><p></p>
  </div> 
  <div class="test">  
  <a name="header_7" id="header_7"></a>  
  <strong onclick="Javascript:scroller('header_1', 800);">header_7 --> header_1</strong><p></p>
  </div>
  </form>
</body>
</html>

JavaScript技術javascript 動態數據下的錨點錯位問題解決方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 中文字幕在线观看日韩 | 综合激情网站 | 偷自在线 | 亚洲欧美一级久久精品 | 欧美精品v国产精品v日韩精品 | 欧美成人性色大片在线观看 | 亚洲天堂久久新 | 99国产精品欧美久久久久久影院 | 国产福利精品在线 | 激情五月婷婷在线 | 日日草草 | 色多多入口 | 最新国产精品亚洲二区 | 久久99国产精品久久99软件 | 区二区三区四区免费视频 | 小说区 图片区 视频区 | 日本美女久久 | 91高清视频在线 | 激情综合五月 | 美国黄色a级片 | 日本视频一区二区三区 | 国产免费播放一区二区三区 | 亚洲欧美一区二区久久 | 欧美黑人巨大xxxxxxxx | 色婷婷久久久swag精品 | 日本波多野结衣在线 | 综合网视频 | 色多多www网站 | 9191在线精品播放 | 五月四房 | 色www精品视频在线观看 | 天堂网站天堂小说 | 中文字幕日本久久2019 | 亚洲图片激情 | 久久精品国产亚洲婷婷 | 欧美人与物videos另类3d | 欧美色综合网站 | 国产精品久久久香蕉 | 六月婷婷在线观看 | 精品国产第一页 | 亚洲小视频网站 |