2011-02-15 57 views
4

嘿傢伙,我希望有人可以幫助解決這個問題,我已經嘗試了很多腳本和解決方法,但無法讓這個簡單的東西工作。正如標題所示,我如何讓我的文字不會跳到頁面的頂部。這裏是代碼。Javascript幫助,切換文本一直跳回到頁首

<script type="text/javascript"> 
function toggleVisibility() { 
    document.getElementById("toggleMe").style.display = ""; 
    if(document.getElementById("toggleMe").style.visibility == "hidden") { 
    document.getElementById("toggleMe").style.visibility = "visible"; 
    } 
    else { 
    document.getElementById("toggleMe").style.visibility = "hidden"; 
    ev.preventDefault(); 
    return false; 

    } 
} 
</script> 



<a href="#" onclick="toggleVisibility();">Click to toggle visibility.</a></p> 

<div id="toggleMe" style="visibility: hidden;"> Something to Hide and show. 

顯示器崩潰它的佈局,而可見性將保持它的佈局。

全部在同一個html文件中。我讀了哪些文章,並嘗試了ev.preventDefault(); 返回false;代碼在函數的末尾,但沒有任何內容。

謝謝!

+0

你不需要ev.preventDefault();返回false;也取決於你的標記的其餘部分可能有一些細微差別,例如缺少結束標記,其他不正確的HTML等 – 2011-02-15 13:23:52

回答

7

更改href屬性在A標籤:的javascript:;代替#

所以用它來創建啓用javascript錨:

<a href="javascript:;"> 

加入(背景資料):

#字符表示書籤。通過省略書籤的名稱,例如瀏覽器將書籤視爲「頁面頂部」,從而滾動到頂部。您的問題不必對書籤進行任何操作,但是使用#可以定義空的鏈接,以便啓用JavaScript啓用錨點(A)標記不是一種好的方法。您應該使用:javascript:;javascript:void(0);來表明這不是導航錨點。

+0

這解決了它。謝謝! – Ollie 2011-02-15 15:21:01

0

或者只是總是返回false,而不只是在Else子句中。