2011-08-19 212 views
2

我有一個位於固定大小div內的選項卡窗格,每當該選項卡切換到大於外部div的頁面時,整個頁面都向下滾動,以至於我無法再看看我的標籤,我在jsfiddle中嘲笑它以顯示問題。顯示隱藏的div時停止滾動頁面

請注意,爲了看到問題,頁面必須小於包含div。

jsFiddle

任何人都知道我可以從向下滾動停止時,頁面的選項卡切換,而無需使用JavaScript?

回答

0

沒有使用JavaScript?無法完成。

使用JavaScript很容易:

evt.preventDefault(); 

http://jsfiddle.net/vVJY4/3/

+0

看到我的答案。我可以完成:P – Andrew

+0

他的意思是說他不想擺脫使用jQuery的舒適區域;) –

1

謝謝你向我展示evt.preventDefault()這讓我在正確的位置看。點擊鏈接指向我隱藏的div,然後頁面向下滾動。

要停止滾動我也可以只從href屬性別的東西刪除ID,

jsFiddle

+0

對於「可訪問性」和「優雅降級」的目的,我強烈建議您保留這些在那裏命名錨。 –

+0

另外,要說這是一個不使用JavaScript的解決方案,就像是說將所有的錨一起移除是一個解決方案。事實上,甚至不寫一個頁面,這是一個解決方案! –

+0

@Adam我原本以爲這是一個問題,我的一些css被擰得很緊,而不是href attr。成爲原因。我不希望答案糾正了滾動,而是那些從未有過滾動的滾動,如果這是有道理的話。 – Andrew

0

如果你想用「純」的JavaScript,使用:

function stopScroll() 
{ 
    document.getElementById("body_id").style.overflow = "hidden"; 
} 

function startScroll() 
{ 
    document.getElementById("body_id").style.overflow = "auto"; 
}