我需要在我的网站上完成相当复杂的动画,其中元素上下滑动,CSS属性被操纵等等。我想知道如何以优雅的方式做到这一点。
操作触发onclick,另一次点击应恢复所有内容,直到该网站再次处于其原始状态。
我不想做的是写一个像
这样的函数$(somebutton).onclick(function() {
if($(this).hasClass("clicked") {
$(this).slideDown();
$('#that').show();
$('#button').css("position","absolute");
// more things going on
} else {
// revert all things gone on
$(this).slideUp();
$('#that').hide();
$('#button').css("position","static");
}
});
这意味着我不想两次写出所有这些语句,甚至更糟糕的是,大多数动画在70%中是相同的。我不想一遍又一遍地写这个。
我所想到的就像一个动画队列,我可以操作,弹出和移动,最重要的还原。我找到了jQuery的queue() - Function,但有一点我卡住了:
一旦自定义队列出列,它就不再存在了,这意味着我可以为元素设置一次动画,但我不能说例如
myQueue.queue('动画&#39)反向();
,因为此时它是空的。
这个冗长的解释不只是针对这个简单的队列问题。这也是一个邀请,为更好的方法提出建议。
答案 0 :(得分:0)
我认为没有开箱即用的解决方案。动画不知道它们的反转操作,因此恢复它们是一项非常重要的任务。也就是说自己编写这样一个系统并不是一件容易的事情。毕竟每个动画都很简单,反转操作应该很容易生成。