2015-10-18 55 views
1

我爲我的大學開始了一個新項目,我的代碼出現問題。在狀態欄上使用沒有鏈接的平滑滾動

當我使用Smooth Scroll轉到另一個錨點時,#name_of_the_anchor鏈接出現在狀態欄上。

只有當我使用「a href」時,Smooth Scroll才能正常工作,所以狀態欄會顯示每個div的鏈接。

的JavaScript:

$(document).ready(function(){ 
    $('a[href^="#"]').on('click',function (e) { 
     e.preventDefault(); 

     var target = this.hash, 
     $target = $(target); 

     $('html, body').stop().animate({ 
     'scrollLeft': $target.offset().left 
     }, 400, 'swing'); 
    }); 
}); 

我怎樣才能改變這個代碼不顯示在狀態欄上的鏈接,但保持平滑滾動在我的網站?感謝你們!

回答

0

你可以做這樣的事情與你鏈接:

<a href="javascript:;" data-target="#anchor-name">My Link</a> 

然後做這樣的事情與你的JavaScript

$(document).ready(function(){ 
    $('a[data-darget]').on('click', function (e) { 
     e.preventDefault(); 

     var target = $(this).data('target'), 
     $target = $(target); 

     $('html, body').stop().animate({ 
      'scrollLeft': $target.offset().left 
     }, 400, 'swing'); 
    }); 
}); 

這將阻止默認瀏覽器的行爲。這並不是真正實現它的最好方法,因爲如果JavaScript無法運行(即,如果用戶禁用JS或其他操作會阻止腳本運行),那麼不會有任何故障回覆。

+0

謝謝你幫助我!我正在嘗試這段代碼,但錨點在「數據目標」中不起作用。任何其他想法? –