javascript - js动画中的问题
高洛峰
高洛峰 2017-04-11 12:52:21
0
3
388

给一些元素绑定事件,事件函数中实现animate动画,让点击元素到一个固定的位置,那么怎样再次点击,让元素回到自己原来的位置呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(3)
阿神

可以定义一个变量flag
flag === true 表示元素在初始位置
flag === false 表示元素在动画执行后的位置
在click事件中根据flag的值执行不同的效果

いいねを押す +0
巴扎黑

animation放在一个class

  .animate{
            animation:xxx 1s linear forwards;
        }

在点击事件中调用

element.onclick = function(){
    this.classList.toggle("animate");
}

这样就能动态的切换了

いいねを押す +0
大家讲道理

我觉得这个需求适合用CSS过渡来做,具体步骤:

  1. 给元素绑过渡属性,写上需要变换的属性名(如果只是定位要变的话可以直接用'all'),过渡(即动画)时间和timing-function;

  2. 新建一个类,写上元素最终定位位置的相应属性,比如top: xxxpx;left: yyypx;之类的;

  3. 在click回调里使用toggleClass(),如果元素上有该属性则去掉,如果没有就加上。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート