【发布时间】:2012-02-10 18:03:47
【问题描述】:
我发生了一件奇怪的事情: 在导航中单击跨度时,必须切换内容。 一切正常,除了当您单击跨度时页面跳转到它(然后跨度将位于顶部)。我发现关于页面跳转的所有内容都是关于锚标签并返回 false;但没有关于跨度。 在我看来,切换内容不能怪,因为从来没有只有一个 div 有 display: none (如果是这种情况,页面应该跳到顶部而不是跳到跨度,对吗?) 阻止任何操作似乎对跨度不起作用。
$("#subnavi span").click(function(){
$("#inner-content div:visible").animate({height: "toggle", opacity: "toggle"}, "slow");
$("#content-"+this.id).animate({height: "toggle", opacity: "toggle"}, "slow");
$("#subnavi span").attr("class", "");
$(this).attr("class", "active");
});
如果解释令人困惑,请转到此处:http://gaming-siblings.com/v2.0/#news 并单击左侧导航中的统计信息。由于 div 的高度,页面将跳转到您刚刚单击的跨度并向后滚动一点。为什么会跳转到 span?
这可能并不奇怪,但很合理。我只是不明白:-)
我已经尝试了 2 天,暂时休息一下,因为这很有帮助,但这次没有。
有什么想法/解决方案吗?如前所述,返回 false;或 preventDefault() 在我尝试时不起作用(因为我猜它是跨度)。
【问题讨论】:
标签: jquery click html page-jump