【发布时间】:2012-03-13 07:11:31
【问题描述】:
这是我想要实现的目标:
- 点击 HTML 链接时,我想在离开页面之前对其进行动画处理
- 如果链接是在新窗口/标签页中打开的,则不应播放动画
我究竟是如何做到这一点的?
【问题讨论】:
标签: javascript dom-events css-transitions
这是我想要实现的目标:
我究竟是如何做到这一点的?
【问题讨论】:
标签: javascript dom-events css-transitions
你可以使用javascript
$(function(){
$(".btn").bind("click",function(){
$(this).animate({'left': '100px'}, 100, function(){
window.location.href = index.html
})
})
})
但如果您的按钮是链接,则必须停止默认操作。
【讨论】:
return false或致电preventDefault。
您需要捕获点击事件,阻止默认操作,制作动画,然后加载新页面。
如果使用 jquery(可用 a jsfiddle):
$('a').click(function (event) {
event.preventDefault();
$(this).animate({
//whatever
}, function() {
location.href = $(this).attr("href");
});
});
更新:Here's the new jsfiddle 解释了 cmets 中提到的情况,去那里获取更新的代码。诀窍是寻找 ctrl 或 command 的按键,如果任一按键被按下,则中止新定义的动画点击处理程序。
注意:窗口需要焦点才能检测到按键,在 jsfiddle 中,这意味着框架需要焦点才能工作。
【讨论】: