用jquery给div添加transform动画没有效果

1.做了一个动画效果是:点击页面按钮,蒙层下拉覆盖整个浏览器,并且蒙层上的按钮添加一个打开的动画效果,点击按钮再使蒙层上拉消失,同时按钮状态恢复原状,也就是按钮打开关闭是一开一合状态,然后这个按钮是做了两个div也就是两条线,同时向反方向转45度形成一个x号。
2.代码

var deg1 = 0;
var deg2 = 0;
$('.let-talk-btn').on('click',function () {
            //蒙层面板打开以及添加动画类名
            $('.cover-info').css('display','block').addClass('height-extension');
            //使蒙层中的内容出现
            $('.cover-content').css('display','block');
            deg2 += 45;
            deg1 -= 45;
            //加了一个定时器
            setTimeout(function () {
            //x号按钮
            //一根线转45度
                $('.close .left').get(0).style.transform="rotate(" + deg2 + "deg)";
                //另一根线转-45度
                $('.close .right').get(0).style.transform="rotate(" + deg1 + "deg)";
            },10)
        })

css:

transition: transform 0.3s ease-in-out;
    -moz-transition: transform 0.3s ease-in-out;
    -webkit-transition: transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;

3.如果 不 加定时器,点击按钮蒙层出现后里面的x号按钮是没有动画效果的为什么?不是同步执行的吗?先出现蒙层再按钮动画,(如果蒙层一直在那么不加定时器动画也是正常的,说明蒙层打开的那段代码还没执行,x号的旋转动画就执行完毕了)

阅读 5.6k
1 个回答

transform 是没有动画效果的。

补充:
这个回答被踩了两次,楼主评论的态度也让我很不爽。

首先,提问的主干是

用jquery给div添加transform动画没有效果

我针对提问答题,说明了 transform 是没有动画效果的。

其次,我回答的时候,楼主并没有补充那段 css ,所以,当时从楼主提供的所有信息中,根本看不到与“动画”有关的代码。
我不知道我的回答有什么问题?
我怎么不认真看题了?

再次,就算把楼主后来补充的 css 加上去,那几行 css 加到哪个 class 中也没有说明清楚。

我不知道这么马虎的提问,还要怪别人不认真看题是什么意思!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题