国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jQuery實現(xiàn)導航滾動到指定內容效果完整實例【附demo源碼下載】

2019-11-20 08:56:15
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery實現(xiàn)導航滾動到指定內容效果。分享給大家供大家參考,具體如下:

做頁面制作也有兩年了,其中也做過許多頁面效果,有簡單的,也有復雜的,今天就來分享一個導航滾動到內容的特效。

平時我們做導航滾動到內容都是通過錨點來做,刷的一下就直接跳到內容了,沒有一絲的滾動效果,而且 url 鏈接最后會有“小尾巴”,今天我就介紹一款 jquery 做的滾動的特效,既可以設置滾動速度,又可以在 url 鏈接上沒有“小尾巴”。

html:

<!DOCTYPE HTML><html lang="en-US"><head>  <meta charset="UTF-8">  <title></title>  <style type="text/css">  #a{height:800px;background:red;}  #b{height:800px;background:green;}  #c{height:800px;background:black;}  #d{height:800px;background:yellow;}  </style></head><body>  <div class="link">    <a href="javascript:;" onclick="scroll('a')">1111111111</a>    <a href="javascript:;" onclick="scroll('b')">2222222222</a>    <a href="javascript:;" onclick="scroll('c')">3333333333</a>    <a href="javascript:;" onclick="scroll('d')">4444444444</a>  </div>  <div id="a"></div>  <div id="b"></div>  <div id="c"></div>  <div id="d"></div></body></html><script type="text/javascript" src="jquery-1.7.2.min.js"></script><script type="text/javascript" src="jquery.scrollto.js"></script><script type="text/javascript">function scroll(id){  $("#"+id).ScrollTo(1000);}</script>

jquery.scrollto.js:

jQuery.getPos = function (e){  var l = 0;  var t = 0;  var w = jQuery.intval(jQuery.css(e,'width'));  var h = jQuery.intval(jQuery.css(e,'height'));  var wb = e.offsetWidth;  var hb = e.offsetHeight;  while (e.offsetParent){    l += e.offsetLeft + (e.currentStyle?jQuery.intval(e.currentStyle.borderLeftWidth):0);    t += e.offsetTop + (e.currentStyle?jQuery.intval(e.currentStyle.borderTopWidth):0);    e = e.offsetParent;  }  l += e.offsetLeft + (e.currentStyle?jQuery.intval(e.currentStyle.borderLeftWidth):0);  t += e.offsetTop + (e.currentStyle?jQuery.intval(e.currentStyle.borderTopWidth):0);  return {x:l, y:t, w:w, h:h, wb:wb, hb:hb};};jQuery.getClient = function(e){  if (e) {    w = e.clientWidth;    h = e.clientHeight;  } else {    w = (window.innerWidth) ? window.innerWidth : (document.documentElement && document.documentElement.clientWidth) ? document.documentElement.clientWidth : document.body.offsetWidth;    h = (window.innerHeight) ? window.innerHeight : (document.documentElement && document.documentElement.clientHeight) ? document.documentElement.clientHeight : document.body.offsetHeight;  }  return {w:w,h:h};};jQuery.getScroll = function (e) {  if (e) {    t = e.scrollTop;    l = e.scrollLeft;    w = e.scrollWidth;    h = e.scrollHeight;  } else {    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 };};jQuery.intval = function (v){  v = parseInt(v);  return isNaN(v) ? 0 : v;};jQuery.fn.ScrollTo = function(s) {  o = jQuery.speed(s);  return this.each(function(){    new jQuery.fx.ScrollTo(this, o);  });};jQuery.fx.ScrollTo = function (e, o){  var z = this;  z.o = o;  z.e = e;  z.p = jQuery.getPos(e);  z.s = jQuery.getScroll();  z.clear = function(){clearInterval(z.timer);z.timer=null};  z.t=(new Date).getTime();  z.step = function(){    var t = (new Date).getTime();    var p = (t - z.t) / z.o.duration;    if (t >= z.o.duration+z.t) {      z.clear();      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)};  z.timer=setInterval(function(){z.step();},13);};

調用方法:

$(id).ScrollTo(speed);//id是跳轉到內容的id;speed是滾動速度,值越大,滾動越慢

完整實例代碼點擊此處本站下載

更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery窗口操作技巧總結》、《jQuery拖拽特效與技巧總結》、《jQuery常用插件及用法總結》、《jquery中Ajax用法總結》、《jQuery表格(table)操作技巧匯總》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》及《jquery選擇器用法總結

希望本文所述對大家jQuery程序設計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 青浦区| 双辽市| 灌南县| 锡林浩特市| 娄底市| 遂平县| 新丰县| 达拉特旗| 靖边县| 邯郸县| 洛阳市| 红原县| 彭阳县| 建德市| 华安县| 白水县| 临夏县| 榆中县| 雷山县| 成武县| 太仓市| 井陉县| 渝北区| 贡山| 青铜峡市| 辽宁省| 都兰县| 浮梁县| 榆林市| 斗六市| 五河县| 孝昌县| 紫阳县| 崇礼县| 竹北市| 会宁县| 京山县| 吕梁市| 乐昌市| 吉木萨尔县| 德惠市|