2011-10-28 110 views
0

在我的HTML的身體結束時,我有以下的Javascript:JQuery的:顯示/隱藏的div

<script> 

$(document).ready(function() { 

    $("a").click(function(event) { 

     var div_to_show=event.target.id; 

     var real_div=div_to_show.split('-'); 

     var display_div=real_div[0]; 

     var elementPos=$("#"+div_to_show).offset(); 

     var top_pos=elementPos.top-118.5;   

     $('#board-right div').hide(); 

     $("#" + display_div).css('margin-top',top_pos); 

     $("#" + display_div).show(); 

    }); 

}); 

</script> 

,這裏是它被認爲操縱HTML:

<div id="board-left"> 
<div id="board-names"> 
    <a id="marci-link">Marci Weisler</a><br /> 
    <a id="nicholas-link">Nicholas Rey</a><br /> 
</div> 
</div><!-- #board-left --> 



<div id="board-right"> 
    <div id="marci" style="display:none;"> 
    <p> 
     Marci Weisler is an accomplished... 
    </p> 
</div> 
<div id="nicholas" style="display:none;"> 
    <p> 
     Nicholas Rey is a French-born... 
    </p> 
</div>  
</div><!-- board-right --> 

所以,代碼應該從點擊鏈接中獲取div名稱,刪除「-link」部分,然後顯示相應的div。目前沒有任何事情發生時,我點擊鏈接。正如我正在寫這篇文章,我想知道這是否是一個CSS問題?有任何想法嗎?

順便說一句,在文檔中有一個鏈接到jQuery 1.3。

回答

2

如果你檢查http://jsfiddle.net/pramodpv/YvYBD/

你會發現,頂部正爲負..如果u糾正爲u需要將工作

PS:嘗試使用的jsfiddle同時發佈您的問題,這樣的人可以在你的代碼上工作,並給出更快的答案...大多數prb,你會自己找到答案:D

+0

btw你在哪裏打算顯示div? –

+0

謝謝。您與jsfiddle的鏈接最有幫助,正如您對代碼的更正一樣。 –

+0

也更新了jsfiddle,提及了@EricBowden關於href =「#」和event.preventDefault()[我用過的返回false] –

2

嘗試你的例子,我發現我必須添加一個href ='#'屬性的超鏈接,然後添加一個event.preventDefault()作爲您的點擊處理程序的第一行。

與Pramod SyneITY相同,頂端位置需要評估爲文本可見的正值。