Javascript 在打开链接之前执行jQuery事件

Javascript 在打开链接之前执行jQuery事件,javascript,jquery,html,Javascript,Jquery,Html,我有一个简单的javascript/jQuery相关问题: 我的tumblr博客中有以下标记: <a href="/page/#" class="pagination">NEXT</a> 上面的#会根据用户所在的页面进行更改。ie:#是可变的,不能是静态的 使用jQuery,我想在新链接打开之前执行一个效果(slideUp();) 可能吗 我已经尝试了.click()和.mousedown()。似乎不起作用,因为当我点击链接时,新页面会在任何效果发生之前打开 我听说

我有一个简单的javascript/jQuery相关问题:

我的tumblr博客中有以下标记:

<a href="/page/#" class="pagination">NEXT</a>

上面的#会根据用户所在的页面进行更改。ie:#是可变的,不能是静态的

使用jQuery,我想在新链接打开之前执行一个效果(
slideUp();

可能吗

我已经尝试了
.click()
.mousedown()
。似乎不起作用,因为当我点击链接时,新页面会在任何效果发生之前打开


我听说过
preventDefault()
,但我想避开它,因为这意味着我必须创建一个单独的函数来检测页面等(工作量太大)

我建议不要这样做。只需让用户更改页面即可

但是,如果您真的想这样做,您需要做的确实是
preventDefault
(显式地,或者通过从处理程序返回
false
),执行
slideUp
,然后在
slideUp
完成函数中,触发URL中的更改

像这样:

$("a.pagination").click(function() {
    // Grab the link's href
    var href = this.href;

    // Slide up the content you want to slide up
    $("some_selector_here").slideUp(function() {
        // Slide is finished, navigate
        location.href = href;
    });

    // Prevent the default action of the link
    return false;
});

您只需推迟更改页面的url:

$('.pagination').click(function(){
    var link = this;
    $('.some-other-element').slideUp(500, function(){
        location.href = this.getAttribute('href');
    });
    return false;
});