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