[英]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.