經過幾句jquery代碼實現頁面平滑滾動到某一錨點的效果。實現代碼來源於https://css-tricks.com/snippets/jquery/smooth-scrollingcss
實現的jquery代碼以下:html
$('a[href*="#"]:not([href="#"])').click(function() { if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { var target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); if (target.length) { $('html, body').animate({ scrollTop: target.offset().top }, 1000); return false; } } });
這裏咱們就先了解一下location對象及它的一些屬性:jquery
location對象屬於window對象,包含有關當前url的信息。服務器
location對象的屬性:this
location.href:返回當前頁的完整的url;
location.hostname:返回當前url的主機名;
location.pathname:返回當前url的路徑名(從/開始);
location.hash:返回一個url的錨部分(從#號開始的部分包括#);
location.host:返回一個url的主機名和端口;
location.port:返回一個url服務器使用的端口號;
location.protocol:返回一個url協議;
location.search:返回一個url的查詢部分(從?號開始);url
例如,當前頁面的url是:http://www.cnblogs.com/sapho/p/6022829.htmlspa
那麼location.href = 「http://www.cnblogs.com/sapho/p/6022829.html」;code
location.hostname = 「www.cnblogs.com」;htm
location.host = 「www.cnblogs.com」;對象
location.pathname = 「/sapho/p/6022829.html」;
location.protocol = 「http:」
demo以下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>用jquery實現平滑的頁面滾動效果</title> <style> *{ margin: 0; padding: 0; } body { font-family:"Microsoft YaHei"; } ul,li{ list-style: none; } a{ text-decoration: none; color: #0a78fa; } a:hover{ color: #fa5275; } #page-wrap { max-width: 500px; margin: 1rem auto; padding: 1rem; } h1, h2 { line-height: 1.2; } h1{ margin-bottom: 20px; } p, ul, h2 { margin: 0 0 1rem 0; } p{ font-size: 14px; text-indent:20px; } </style> </head> <body> <div id="page-wrap"> <h1 id="top">竹文化</h1> <ul> <li><a href="#two">跳轉到第二章</a></li> <li><a href="#three">跳轉到第三章</a></li> </ul> <h2 id="one">第一章</h2> <p>竹爲高大、生長迅速的禾草類植物,莖爲木質。分佈於熱帶、亞熱帶至暖溫帶地區,東亞、東南亞和印度洋及太平洋島嶼上分佈最集中,種類也最多。 竹枝杆挺拔,修長,四季青翠,傲雪凌霜,倍受中國人民喜好,有「梅蘭竹菊」四君子之一,「梅松竹」歲寒三友之一等美稱。 中國古今文人墨客,嗜竹詠竹者衆多。 </p> <p> 竹文化是漢族勞動人民在長期生產實踐和文化活動中,把竹子形態特徵總結成了一種作人的精神風貌,如虛心、氣節等, 其內涵已造成漢民族品格、稟賦和精神象徵。看到竹子,人們天然想到它不畏逆境,不懼艱辛,中通外直,寧折不屈的品格, 這是一種取之不盡的精神財富,也正是竹子特殊的審美價值。 </p> <p>竹爲高大、生長迅速的禾草類植物,莖爲木質。分佈於熱帶、亞熱帶至暖溫帶地區,東亞、東南亞和印度洋及太平洋島嶼上分佈最集中,種類也最多。 竹枝杆挺拔,修長,四季青翠,傲雪凌霜,倍受中國人民喜好,有「梅蘭竹菊」四君子之一,「梅松竹」歲寒三友之一等美稱。 中國古今文人墨客,嗜竹詠竹者衆多。 </p> <p> 竹文化是漢族勞動人民在長期生產實踐和文化活動中,把竹子形態特徵總結成了一種作人的精神風貌,如虛心、氣節等, 其內涵已造成漢民族品格、稟賦和精神象徵。看到竹子,人們天然想到它不畏逆境,不懼艱辛,中通外直,寧折不屈的品格, 這是一種取之不盡的精神財富,也正是竹子特殊的審美價值。 </p> <h2 id="two">第二章</h2> <p><a href="#top">回到頂部</a></p> <p>竹爲高大、生長迅速的禾草類植物,莖爲木質。分佈於熱帶、亞熱帶至暖溫帶地區,東亞、東南亞和印度洋及太平洋島嶼上分佈最集中,種類也最多。 竹枝杆挺拔,修長,四季青翠,傲雪凌霜,倍受中國人民喜好,有「梅蘭竹菊」四君子之一,「梅松竹」歲寒三友之一等美稱。 中國古今文人墨客,嗜竹詠竹者衆多。 </p> <p> 竹文化是漢族勞動人民在長期生產實踐和文化活動中,把竹子形態特徵總結成了一種作人的精神風貌,如虛心、氣節等, 其內涵已造成漢民族品格、稟賦和精神象徵。看到竹子,人們天然想到它不畏逆境,不懼艱辛,中通外直,寧折不屈的品格, 這是一種取之不盡的精神財富,也正是竹子特殊的審美價值。 </p> <h2 id="three">第三章</h2> <p><a href="#top">回到頂部</a></p> <p>竹爲高大、生長迅速的禾草類植物,莖爲木質。分佈於熱帶、亞熱帶至暖溫帶地區,東亞、東南亞和印度洋及太平洋島嶼上分佈最集中,種類也最多。 竹枝杆挺拔,修長,四季青翠,傲雪凌霜,倍受中國人民喜好,有「梅蘭竹菊」四君子之一,「梅松竹」歲寒三友之一等美稱。 中國古今文人墨客,嗜竹詠竹者衆多。 </p> <p> 竹文化是漢族勞動人民在長期生產實踐和文化活動中,把竹子形態特徵總結成了一種作人的精神風貌,如虛心、氣節等, 其內涵已造成漢民族品格、稟賦和精神象徵。看到竹子,人們天然想到它不畏逆境,不懼艱辛,中通外直,寧折不屈的品格, 這是一種取之不盡的精神財富,也正是竹子特殊的審美價值。 </p> <p>竹爲高大、生長迅速的禾草類植物,莖爲木質。分佈於熱帶、亞熱帶至暖溫帶地區,東亞、東南亞和印度洋及太平洋島嶼上分佈最集中,種類也最多。 竹枝杆挺拔,修長,四季青翠,傲雪凌霜,倍受中國人民喜好,有「梅蘭竹菊」四君子之一,「梅松竹」歲寒三友之一等美稱。 中國古今文人墨客,嗜竹詠竹者衆多。 </p> <p> 竹文化是漢族勞動人民在長期生產實踐和文化活動中,把竹子形態特徵總結成了一種作人的精神風貌,如虛心、氣節等, 其內涵已造成漢民族品格、稟賦和精神象徵。看到竹子,人們天然想到它不畏逆境,不懼艱辛,中通外直,寧折不屈的品格, 這是一種取之不盡的精神財富,也正是竹子特殊的審美價值。 </p> </div> <script src="./jquery-1.11.3.min.js"></script> <script> $('a[href*="#"]:not([href="#"])').click(function() { if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { var target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); if (target.length) { $('html, body').animate({ scrollTop: target.offset().top }, 1000); return false; } } }); </script> </body> </html>