发布于 2016-12-12 04:08:32 | 122 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Javascript教程,程序狗速度看过来!

JavaScript客户端脚本语言

Javascript 是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。


用 Javascript 实现锚点(Anchor)间平滑跳转

<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> 


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务