我有一个快速的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");
});
});
答案 0 :(得分:1)
您应该停止发生默认事件(跟随锚点)。您可以通过调用event.preventDefault()
或从事件处理程序(后者will also stop propagation)返回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;
});
答案 1 :(得分:0)
将event.preventDefault()
添加到您的点击处理程序:
$("a.linkclass").click(function(e) {
e.preventDefault();
$('.msg_body').fadeOut("slow");
$($(this).attr("href")).fadeIn("slow");
});
当您点击具有linkclass
班级名称的锚点时,问题就出现了,您的浏览器开始导航到它在href
属性中设置的网址。