2009-02-20 25 views
0

我有一個帶有style =「overflow:auto」的div,其中帶有一些文本。該文本有一些錨點,我有div的鏈接(不在div內),每次點擊進入錨點時,頁面會到達底部,就像錨點位於頁面底部一樣。防止錨點將頁面推到底部(HTML)

有什麼辦法可以防止這種情況發生?

<a href='#id2'>Link</a> 
<div style='width: 100px; overflow: auto;'> 
Text Inside, Big text with <hr id='#id10' /> here 
Text Inside, Big text with <hr id='#id5' /> here 
Text Inside, Big text with <hr id='#id6' /> here 
Text Inside, Big text with <hr id='#id27' /> here 
Text Inside, Big text with <hr id='#id24' /> here 
Text Inside, Big text with <hr id='#id20' /> here 
Text Inside, Big text with <hr id='#id21' /> here 
Text Inside, Big text with <hr id='#id23' /> here 
Text Inside, Big text with <hr id='#id22' /> here 
Text Inside, Big text with <hr id='#id2' /> here 
<div> 

編輯:我也沒有使用Javascript既不I幀

編輯:在Firefox 3測試

+0

你是什麼意思的「在頁面的另一部分的鏈接」?它是一個iframe,一個命名的錨,或什麼?你是通過JavaScript加載嗎? – 2009-02-20 15:57:02

+0

而在哪些瀏覽器中你有這個問題? – zihotki 2009-02-20 16:01:51

+0

如果您發佈鏈接的HTML和目標定位符的HTML,這將有所幫助。 – 2009-02-20 16:02:59

回答

0

這是瀏覽器本機功能。如果你想在不使用javascript的情況下破壞它,那麼你可能會用水槍給地獄充電,因爲你不會很成功。

使用像jQuery這樣簡單的框架可能會在幾行代碼中清除它。您可以將元素滾動到視圖中,並防止默認活動或錨點。

0

這聽起來好像一切事情的是,瀏覽器,它試圖把你的錨到頁面頂部,這是在這種情況下的正常行爲。所以它不會滾動到底部,而是試圖讓您的鏈接到頁面的頂部,但在它到達那裏之前觸摸滾動條的底部。

儘管如此,一些示例代碼會很有幫助。

0

每個頁面只能有一個id(id2,id3,id4等)。你有id2列出10次,最有可能導致你的鏈接中斷。此外,你不能用英鎊符號啓動id;有效的ID以([​​A-Za-z])開始。