當我添加一個HTML鏈接到頁面的特定部分:如何在不改變URL欄的情況下添加HTML哈希鏈接...?
<a href="#specific">test</a>
我注意到它的變化在地址欄中的網址。儘管我遇到過那些沒有更新地址欄的鏈接。這怎麼可能?
編輯:這可能是一個AJAX溶液中,他們度過,即使沒有URL變化工作,因爲如果我沒有記錯,頁面沒有加載,就直接去了目的地......
當我添加一個HTML鏈接到頁面的特定部分:如何在不改變URL欄的情況下添加HTML哈希鏈接...?
<a href="#specific">test</a>
我注意到它的變化在地址欄中的網址。儘管我遇到過那些沒有更新地址欄的鏈接。這怎麼可能?
編輯:這可能是一個AJAX溶液中,他們度過,即使沒有URL變化工作,因爲如果我沒有記錯,頁面沒有加載,就直接去了目的地......
你不妨看一下jquery插件scrollTo。
而對於scrollTo
幾個環節http://demos.flesler.com/jquery/scrollTo/
http://flesler.blogspot.com/2007/10/jqueryscrollto.html
你可以做這樣的事情:
的HTML
<a href="#scrollToMe" class="scrollLink">click me to scroll</a>
<div class="gap">a big gap</div>
<h1 id="scrollToMe">I should scroll to here without a # in the URL</h1>
的JavaScript(jQuery的和scrollto插件)
$(document).ready(function() {
$(".scrollLink").click(function(e) {
$.scrollTo($(this).attr("href"));
e.preventDefault();
});
});
的JavaScript做什麼,是當過點擊一個鏈接,有類 「.scrollLink」,滾動頁面向下具有相同ID的元素,就像點擊特定鏈接的href一樣。然後e.preventDefault()停止它像正常的哈希鏈接一樣工作,並停止它出現在URL欄中。
這是給你一個工作示例:http://jsfiddle.net/alexkey/c3jsY/7/
而且在框架版本沒有,所以你可以看到,URL不會改變:
http://fiddle.jshell.net/alexkey/c3jsY/7/show/light/
這種方法有幾點好點
尼斯解決方案:) –
謝謝@ RichardJ.RossIII :-) –
亞歷克斯這是非常出色的,非常感謝你! –
這是可能的使用javascript攔截點擊事件,執行你自己的定製邏輯,然後取消導航事件,以便URL永不改變
您能否爲我寫這個解決方案的代碼?請注意,不幸的是,我沒有javascript知識,只有基本的HTML。 –
也許你可以嘗試類似:window.scroll(0,150); 而不是「(0,150)」把你的目標的cooridnate。
你將不得不試驗一下這個數字(這裏顯示爲200)來讓窗口正確對齊。
<a href="javascript:void(0);" onclick="window.scroll(0,200);">test</a>
如果我能正確對齊,所有瀏覽器的目標是否完全相同?正如我前面提到的,我對JavaScript並不是很有經驗,因此不知道它在哪些規則下運行。 –
爲什麼不使用javascript,例如'window.scrollTo()'? –
我沒有javascript的知識。你能否用一個有效的javascript例子來回答這個問題,我會對這個解決方案感到滿意。 –
嗨Alehandro Darie,你能介紹一下爲什麼你不想改變URL欄的背景嗎?就這樣我們可以爲你構建一個答案。謝謝。 –