javascript - js动画中的问题
高洛峰
高洛峰 2017-04-11 12:52:21
[JavaScript讨论组]

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

高洛峰
高洛峰

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

全部回复(3)
阿神

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

巴扎黑

animation放在一个class

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

在点击事件中调用

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

这样就能动态的切换了

大家讲道理

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

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号