第一次点击动画效果很好,第二次它跳过了一些步骤
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。
因此,当您单击某个列时它会打开并再次单击它会关闭。这就是它应该如何工作的。但是,问题是如果你现在在same栏上点击again,它会立即打开和关闭,这不是我想要的效果。
我该如何解决这个问题?
顺便说一句,不知道为什么,但目前在 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);
});
});
对于这个动画我使用 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。
因此,当您单击某个列时它会打开并再次单击它会关闭。这就是它应该如何工作的。但是,问题是如果你现在在same栏上点击again,它会立即打开和关闭,这不是我想要的效果。
我该如何解决这个问题?
顺便说一句,不知道为什么,但目前在 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);
});
});