我的HTML正文末尾有以下Javascript:
<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。
答案 0 :(得分:2)
如果您选中http://jsfiddle.net/pramodpv/YvYBD/,
你会发现顶部的pos是负面的..如果你按照你的要求纠正它会起作用
PS:尝试在发布问题时使用jsfiddle,以便人们可以处理您的代码并提供更快的答案...大多数人,您将自己找到答案:D
答案 1 :(得分:2)
尝试你的例子,我发现我必须在超链接中添加一个href ='#'属性,然后在你的点击处理程序中添加一个event.preventDefault()作为第一行。
与Pramod SyneITY相同,顶部位置需要评估为可见文本的正值。