2014-11-09 19 views
0

由於某種原因,我不知道我鏈接到我的網頁的一部分的id屬性卡在點擊它後的URL。刪除id屬性從我的網址鏈接

<a href="#second" button class="btn">Click Here To Pre-Order</button></a> 
 

 
<a id="second"></a>

要了解我的意思,你可以請訪問一個活生生的例子[plushvip.com 1,點擊第一個按鈕,明白我的意思。

任何想法?

+0

定義「*單擊*後卡在URL中」。 – 2014-11-09 00:53:55

回答

0

#1:這就是它是如何工作的
#2:如被稱爲哈希對方的回答指出,你可以使用jQuery解決它。我喜歡這個小腳本它消除了哈希值,並有一個很好的滾動動畫,而不是跳躍:
JQuery的:

jQuery(document).ready(function($) { 
    $(".scroll").click(function(event) { 
     event.preventDefault(); 
     $('html,body').animate({ scrollTop:$(this.hash).offset().top } , 1000); 
    }); 
}); 

HTML:

<a href="#second" class="scroll" > 
<button class="btn">Click Here To Pre-Order</button> 
</a> 

演示:
http://jsfiddle.net/ImagineStudios/c604vbrn/11/

+0

感謝您的分享!我添加了您提供的JQuery代碼,並將其替換爲href,但它不能平滑滾動,並仍顯示#id。我想知道如果我錯過了一些使JQuery工作的東西? – Chris 2014-11-09 14:46:58

+0

我的錯,現在就試試吧! – 2014-11-09 14:50:17

+0

酷!我是否需要在我的.html文檔的頭部添加類似JQuery 1.11.0的鏈接? – Chris 2014-11-09 14:59:55

0

嘗試使用此片段。

<button class="btn"><a href="#bottom">Click Here To Pre-Order</a></button> 

<a id="bottom"></a> 
+0

感謝您的幫助......它可以將按鈕內的文本轉換爲鏈接,而不是按鈕。因此,按鈕內的文本會加下劃線,而您實際上必須單擊內部文本而不是按鈕本身。對此有何想法? – Chris 2014-11-09 01:02:28

+0

其實我很快就說過了...... #id仍然在瀏覽器中。 – Chris 2014-11-09 01:04:30

+0

它是如何工作的。如果你想刪除它,爲每個特定的ID編寫一個.htaccess文件。 – saruftw 2014-11-09 01:06:23

0

這就是哈希值的工作原理。如果您重新加載頁面瀏覽器,則會嘗試查找具有當前散列的元素,因爲它是id並專注於此元素。如果這不是你想要的,你應該防止click事件的默認動作,那麼文檔的散列不會被更新,但是你應該選擇使用JavaScript的目標元素,並根據頂部偏移量來改變窗口的滾動位置的目標元素。

而你的標記是無效的。 a元素中的開始button標記以及爲什麼button元素在哪裏?

+0

感謝您的幫助,並感謝您指出無效的標記。在編碼方面我是新手,剛開始學習html/css,所以我還有很長的路要走:)我對js非常陌生,所以現在它超過了我的水平,我想我會必須處理散列。 – Chris 2014-11-09 01:10:30