簡體   English   中英

在打開鏈接之前執行jQuery事件

[英]Perform a jQuery event before opening up a link

我有一個簡單的javascript / jQuery相關問題:

我的tumblr博客中有以下標記:

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

上面的#根據用戶所在的頁面而變化。 即:#是可變的,不能是靜態的。

使用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;
});

您只需要推遲更改頁面的網址:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM