我有一个简单的 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;
});
关于javascript - 在打开链接之前执行 jQuery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6825955/