我希望JQuery停止将我的加载div内容绑定到一个奇怪的位置

我有一个快速的JQuery问题(好吧,我希望它很快!)我一直在梳理论坛,无法阻止代码捕捉到一个奇怪的滚动位置(我不想让它滚动,只是呆在同一个地方)。 我有一种感觉,这是一个简单的修复,但我无法弄清楚! 你能救我吗? 如果花了太长时间或你不想这样做,我明白了! 所有JQuery,CSS和HTML代码都在Tumblr上运行:

http://patriciahighsmith.tumblr.com/quiz

$(document).ready(function() { $('.msg_body:not(:first)').hide(); $("a.linkclass").click(function() { $('.msg_body').fadeOut("slow"); $($(this).attr("href")).fadeIn("slow"); }); }); 

您应该停止发生默认事件(跟随锚点)。 您可以通过调用event.preventDefault()或从事件处理程序返回false来执行此操作(后者也将停止传播 ,因此请小心使用)。

 $("a.linkclass").click(function(event) { $('.msg_body').fadeOut("slow"); $($(this).attr("href")).fadeIn("slow"); event.preventDefault(); }); 

要么

 $("a.linkclass").click(function() { $('.msg_body').fadeOut("slow"); $($(this).attr("href")).fadeIn("slow"); return false; }); 

event.preventDefault()添加到您的点击处理程序:

 $("a.linkclass").click(function(e) { e.preventDefault(); $('.msg_body').fadeOut("slow"); $($(this).attr("href")).fadeIn("slow"); });​ 

当您使用linkclass类名点击锚点时,问题就出现了,您的浏览器开始导航到它在href属性中设置的URL。