我發生這種奇怪的事情: 當點擊跨越導航內容必須切換。 一切工作除了當你點擊一個跨度的頁面跳轉到它(跨度將正確的時間)。我發現有關頁面跳轉的內容是關於錨標籤並返回false的;但沒有跨度。 在我看來,切換內容不能怪,因爲從來沒有隻有一個div顯示:none(如果是這樣的話,頁面應跳轉到頂部而不是跳轉到跨度,對不對?) 防止任何操作似乎不適用於跨度。頁面跳轉span.click()
$("#subnavi span").click(function(){
$("#inner-content div:visible").animate({height: "toggle", opacity: "toggle"}, "slow");
$("#content-"+this.id).animate({height: "toggle", opacity: "toggle"}, "slow");
$("#subnavi span").attr("class", "");
$(this).attr("class", "active");
});
如果解釋是混亂的,去這裏:http://gaming-siblings.com/v2.0/#news和點擊左側導航統計。該頁面將跳轉至您剛剛單擊的跨度,並由於div的高度向後滾動一點。爲什麼會跳到跨度?
這可能不奇怪,但合理。我只是不明白:-)
我已經嘗試了2天,現在休息一下,因爲這主要是幫助,但不是這次。
任何想法/解決方案?如上所述返回false;或preventDefault()在我嘗試時不起作用(因爲它的跨度我猜)。
document.location.hash = "#" + this.id;
這是—要添加的哈希頁面的網址,以便頁面會自動滾動到「跳」的原因:
呵呵,我想我在注意到跳轉後添加了哈希變化。從來沒有想過改變散列實際上像散列錨一樣工作。感謝您指出了這一點。這是非常有道理的。我通過使用不存在的散列ID來創建解決方法,因此無法跳轉。我想這有點骯髒,但它的工作原理。 – user1021052 2012-01-15 11:37:10