在平時的項目中,我們經常需要一些特效鏈接,如果使效果進一步加強,我們可以使點擊錨點鏈接平滑滾動到錨點,下面就來給大家講解下如何使用jQuery來實現。
一般使用錨點來跳轉到頁面指定位置的時候,會生硬地立即跳轉到指定位置,但是有些時候我們想要平滑地過渡到指定的位置,那么可以使用JQuery簡單的實現這個效果:
比如,這里我們將通過點擊標簽跳轉到 id為content的指定位置那里。
|
然后呢,就在我們想要的位置設置id為content的內容塊,這里用一個div模擬一篇不像文章的文章。最好將此div放在靠后的位置,這樣效果就很明顯一點,如果只是測試一下這個效果,可以用簡單粗暴的方法,在其前面放很多個
標簽即可。
- <div id="content">
- <h2>
- <a href="###">HTML5</a>
- </h2>
- <p>
- html5html5html5
- </p>
- <p class="addMes">標簽:<span>HTML5</span><small>2015年4月19日</small></p>
- </div>
最后就是用JQuery來實現平滑過渡的效果了:
- $('#turnToContent').click(function () {
- $('html, body').animate({
- scrollTop: $($.attr(this, 'href')).offset().top
- }, 500);
- return false;
- });
搞定了!
下面我們來繼續改進一下,
- $(function(){
- $('a[href*=#],area[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) {
- var targetOffset = $target.offset().top;
- $('html,body').animate({
- scrollTop: targetOffset
- },
- 1000);
- return false;
- }
- }
- });
- })
改進后的代碼的好處是點擊錨點鏈接平滑滾動到錨點,并且瀏覽器URL后綴不帶有錨點字樣,使用的過程中基本不用修改以上代碼即可實現。
以上所述就是本文的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答
圖片精選