2011-10-28 68 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相同,顶端位置需要评估为文本可见的正值。