簡體   English   中英

如何在沒有整個瀏覽器跳轉的情況下在可滾動div中錨定標記?

[英]How to go to anchor tag in scrollable div without having the whole browser jump down?

我正在構建一個簡單的詞匯表小部件,作為客戶的大型項目的一部分。 術語表的內容包含在可滾動的div中(overflow:auto)。 每個字母都有一個與之關聯的錨標記(#a,#b,#c等)。 可滾動div上方是一個包含字母表中每個字母的div。 單擊其中一個字母會將用戶縮小到可滾動div中該字母的定義。 這是有效的,但是一個意想不到的副作用是整個窗口跳到錨點,這給用戶帶來了困惑和煩惱。

這是小部件,稍微拆了一下,然后用一堆<br />來讓你明白我的意思。

http://www.nitrohandsome.com/clients/topics/glossary-widget/

我嘗試了一些不同的javascript想法,我從一些谷歌搜索拼湊而成,但沒有任何工作,所以我只是擺脫了一切,但實際去錨定代碼(我是一個相當大的JS新手)。 所以現在,點擊任何字母執行這個javascript函數,並將錨標記傳遞給它:

    function jumpToAnchor(myAnchor) {
   window.location = String(window.location).replace(/\#.*$/, "") + myAnchor;
  }

如何將其關閉,以便每次單擊鏈接時整個窗口不會跳轉?

提前致謝!

如果你正在使用jQuery,你可以嘗試使用scrollTo插件。 此外,要編輯哈希部分或URL,您可以這樣做

function jumpToAnchor(myAnchor) {
   window.location.hash = myAnchor;
}

嘗試使用IFrame而不是Div或使用ScrollBy創建特定函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM