[英]On first click animation works good, on second it skips some steps
对于此动画,我使用Velocity.js ,这是代码
$(document).ready(function() {
$('.shrink').on('click', function() {
$(".spread").removeClass("spread").addClass("shrink");
$(this).removeClass("shrink").addClass("spread");
$(".spread").velocity({
width: "80%"
}, 300);
$(".shrink").velocity({
width: "5%"
}, 300);
$('.spread').on('click', function() {
$(this).removeClass("spread").addClass("shrink");
$(".shrink").velocity({
width: "20%"
}, 300);
});
});
});
以及具有完整动画预览的jsfiddle 。
因此,当您单击某个列时,它将打开,然后再次单击,它将关闭。 那应该是这样工作的。 但是,问题是,如果您现在再次单击同一列,它将立即打开和关闭,这不是我想要的效果。
我怎样才能解决这个问题?
顺便说一句,不知道为什么,但是目前在chrome中不起作用,但是在ff中起作用。
了解事件委托
简单的代码重写就变成了
$(document).ready(function () {
$('body').on('click', '.spread', function () {
$(this).removeClass("spread").addClass("shrink");
$(".shrink").velocity({
width: "20%"
}, 300);
});
$('body').on('click', '.shrink', function () {
$(".spread").removeClass("spread").addClass("shrink");
$(this).removeClass("shrink").addClass("spread");
$(".spread").velocity({
width: "80%"
}, 300);
$(".shrink").velocity({
width: "5%"
}, 300);
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.