这里有点问题

这里有点问题

fade:{
  show:function($elem){
   $elem.show();
   setTimeout(function(){
    $elem.removeClass('fadeOut');
   },20)
  },
  hide:function($elem){
   $elem.addClass('fadeOut');
  }
 },

show的时候我先$elem.show();让$elem变块状元素再加透明度为1和可见,这中间有20毫秒的延时,但是在移除的时候直接去除了fadeOut类,就是直接让display:block变成了display:none 没有延时 为什么还是有动画的?

正在回答

登陆购买课程后可参与讨论,去登陆

4回答

同学你好,下方代码是通过js写入到元素上的,

http://img1.sycdn.imooc.com//climg/5e8d993309d942ac08790276.jpg

通过添加类名的方式并不能修改。建议:使用js的方式修改,老师在课上也有讲解,如下:

http://img1.sycdn.imooc.com//climg/5e8d99ef09eca61408610677.jpg

祝学习愉快~

好帮手慕言 2020-04-08 15:52:52

同学你好,因为元素上有个transition类,在移除fadeOut类时,会有一个过渡的效果。

同学指的display: block;指的是哪里呢,可以详细描述下。另外:目前阶段同学对这些知识还不是很熟悉,建议:可以跟着老师的讲解进行学习哦。

祝学习愉快~

  • 提问者 慕工程5469503 #1
    我在fadeOut类里加了display:none删掉了box里的display 当我点击隐藏 应该会给box加上fadeOut类 可是我审查元素的时候box依然是display:block
    2020-04-08 15:56:45
提问者 慕工程5469503 2020-04-08 11:03:28

.fadeOut{
    display: none;
    visibility: hidden;
    opacity: 0;
   }

我这里fadeout是这样写的

提问者 慕工程5469503 2020-04-08 11:02:04

刚刚发现$elem.addClass('fadeOut')之后 display还是block 这是为什么 fadeOut类里不是有display:none吗?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师