1

我有一个快速的 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");
    });
});
4

2 回答 2

1

您应该阻止默认事件的发生(跟随锚点)。您可以通过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;
});
于 2012-05-24T15:47:26.930 回答
0

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

$("a.linkclass").click(function(e) {
    e.preventDefault();

    $('.msg_body').fadeOut("slow");
    $($(this).attr("href")).fadeIn("slow");
});​

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

于 2012-05-24T15:47:13.873 回答