fade相关知识
-
react-transition-group/enter是入场前的刹那(点击按钮),appear指页面第一次加载前的一刹那(自动) .fade-enter, .fade-appear { opacity: 0; } //enter-active指入场后到入场结束的过程,enter的下一帧插入,appear-active则是页面第一次加载自动执行 .fade-enter-active, .fade-appear-active { opacity: 1; transition: opacity 1s ease-in; } //入场动画执行完毕后,保持状态,同时会移除fade-enter和fade-enter-active .fade-enter-done { opacity: 1; } //同理,出场前的一刹那,以
-
Element 的学习Element 的内置动画 fade 淡入淡出:el-fade-in-linear,el-fade-in zoom 缩放:el-zoom-in-center,el-zoom-in-top,el-zoom-in-bottom collapse 展开折叠 使用 el-collapse-transition 组件实现折叠展开效果 <template> <div> <el-button @click="show3 = !show3">Click Me</el-button> <div style="margin-top: 20px; height: 200px;"> <el-collapse-transition> <div v-show="show3"> <div class="transition-box">el-collapse-transition</div> <div class="t
-
關於製作gif加載動畫多多指教:需要加入一個spin.css:@keyframes spinner-line-fade-more { 0%, 100% { opacity: 0; /* minimum opacity */ } 1% { opacity: 1; } } @keyframes spinner-line-fade-quick { 0%, 39%,&nbs
-
fadeIn slider_01 ...................var fade=(function () { function Carsoule(el,options) { this.$el=$(el); this.$opts=options; this.$list=this.$el.find(".carousel-list"); this.$next=this.$el.find("#next-btn"); this.$prev=this.$el.find("#prev-btn"); this.$item=this.$el.find(".carousel-icons .item"); this.$timer=null; } var defualts={ time:3000, i:0, fading:false, firstLoad:false }; Carsoule.prototype.init=function () { this.settingDisplay(); this.nextBtn(); this.p
fade相关课程
-
玩转Bootstrap(JS插件篇) 你可以把这门课程看成是《玩转Bootstrap》的补充篇,带领大家学习怎么使用JS自由控制Bootstrap中提供的组件(插件)。
讲师:大漠 中级 127941人正在学习
fade相关教程
- 1.1 基本使用 接下来让我们先看一个淡入淡出效果的实现代码:676代码解释:HTML 代码第 3-5 行,我们使用 transition 组件包裹 <p> 标签,transition 组件指定 name 为 fade,通过 指令 v-show 控制 <p> 标签的显示和隐藏;HTML 代码第 2 行,定义按钮 button,点击修改 show 的值来控制标签 <p> 的显示隐藏;CSS 中我们定义了 4 个样式;JS 代码第 6 行,定义数据 show,默认值为 true。那么,transition 组件是如何做到这样的过渡效果的呢?我想,同学们肯定猜想到当元素切换状态的时候,我们定义的样式会作用于标签元素 <p>。那么,到底是不是这样呢?打开控制台,检索到 <p> 标签上,我们可以清晰地看到:当元素隐藏的时候,样式 fade-leave-active 和 fade-leave-to 会被添加到元素 <p> 上;当元素显示的时候,样式 fade-enter-active 和 fade-enter-to 会被添加到元素 <p> 上。实际上 Vue 在元素显示与隐藏的过渡中,提供了 6 个 class 来切换:v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除;v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡 / 动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数;v-enter-to: 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡 / 动画完成之后移除。v-leave: 定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除;v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡 / 动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数;v-leave-to: 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡 / 动画完成之后移除。对于这些在过渡中切换的类名来说,如果你使用一个没有名字的 <transition>,则 v- 是这些类名的默认前缀。如果你使用了 <transition name="test-transition">,那么 v 会替换为 test-transition。例如:test-transition-enter、test-transition-enter-active、test-transition-leave…
- 1.2 CSS 过渡 在日常开发中,我们经常会使用 CSS 过渡来实现一些简单的动画效果。接下来我们用一个示例来学习如何使用:677代码解释:HTML 代码第 3-5 行,我们使用 transition 组件包裹 <p> 标签,transition 组件指定 name 为 fade,通过 指令 v-show 控制 <p> 标签的显示和隐藏;HTML 代码第 2 行,定义按钮 button,点击修改 show 的值来控制标签 <p> 的显示隐藏;CSS 中我们定义了 4 个样式,通过 transform 控制元素的垂直位移,通过 opacity 控制元素的 透明度,通过 transition 控制元素的过渡效果;JS 代码第 6 行,定义数据 show,默认值为 true。
- 1. 音乐推荐器1.0版本 如果之前没有学习过设计模式,很可能你的实现会是这样。编写 RecommendMusicService 类,里面有一个 Recommend方法。根据输入的风格不同,执行不同的推荐逻辑。代码如下:public class RecommendMusicService { public List<String> recommend(String style) { List<String> recommendMusicList = new ArrayList<>(); if ("metal".equals(style)) { recommendMusicList.add("Don't cry"); } else if ("country".equals(style)) { recommendMusicList.add("Hotel california"); } else if ("grunge".equals(style)) { recommendMusicList.add("About a girl"); }else { recommendMusicList.add("My heart will go on"); } return recommendMusicList; }}是不是觉得 recommed 方法太长了? OK,我们重构下,把每种音乐风格的推荐逻辑封装到相应的方法中。这样推荐方法就可以复用了。public class RecommendMusicService { public List<String> recommend(String style) { List<String> recommendMusicList = new ArrayList<>(); if ("metal".equals(style)) { recommendMetal(recommendMusicList); } else if ("country".equals(style)) { recommendCountry(recommendMusicList); } else if ("grunge".equals(style)) { recommendGrunge(recommendMusicList); }else { recommendPop(recommendMusicList); } return recommendMusicList; } private void recommendPop(List<String> recommendMusicList) { recommendMusicList.add("My heart will go on"); recommendMusicList.add("Beat it"); } private void recommendGrunge(List<String> recommendMusicList) { recommendMusicList.add("About a girl"); recommendMusicList.add("Smells like teen spirit"); } private void recommendCountry(List<String> recommendMusicList) { recommendMusicList.add("Hotel california"); recommendMusicList.add("Take Me Home Country Roads"); } private void recommendMetal(List<String> recommendMusicList) { recommendMusicList.add("Don't cry"); recommendMusicList.add("Fade to black"); }}这样是不是很完美了!recommend 方法精简了很多,而且每种不同的推荐逻辑都被封装到相应的方法中了。那么,如果再加一种风格推荐怎么办?这有什么难,recommed 方法中加分支就好啦。然后在 RecommendMusicService 中增加一个对应的推荐方法。等等,是不是哪里不太对?回想一下设计模式6大原则的开闭原则----对扩展开放,对修改关闭。面对新风格推荐的需求,我们一直都在修改 RecommendMusicService 这个类。以后每次有新风格推荐要添加,都会导致修改 RecommendMusicService 。显然这是个坏味道。那么如何做到实现新的风格推荐需求时,满足开闭原则呢?
- 2. 音乐推荐器2.0版本 添加新需求时,如何做到不修改,去扩展?是不是想到了单一职责?是的,类的职责越单一,那么它就越稳定。RecommendMusicService 类的职责太多了,负责n种风格的推荐。OK,那么我们第一件事就是要减少 RecommendMusicService 类的职责,把每种不同风格的推荐提取到不同的类当中。比如MetalMusicRecommendService、PopMusicRecommendService、CountryMusicRecommendService。这些类都可以通过 recommed 方法生成推荐的歌曲清单。而 RecommendMusicService 类只是通过调用不同 MusicRecommendService 的 recommed 方法来实现推荐。代码如下:MetalMusicRecommendService 类:public class MetalMusicRecommendService { public List<String> recommend(){ List<String> recommendMusicList = new ArrayList<>(); recommendMusicList.add("Don't cry"); recommendMusicList.add("Fade to black"); return recommendMusicList; }}同类型的还有 GrungeMusicRecommendService、PopMusicRecommendService、CountryMusicRecommendService 类现在我们来改造 MusicRecommendService 类:public class RecommendMusicService { private MetalMusicRecommendService metalMusicRecommendService = new MetalMusicRecommendService(); private GrungeMusicRecommendService grungeMusicRecommendService = new GrungeMusicRecommendService(); private CountryMusicRecommendService countryMusicRecommendService = new CountryMusicRecommendService(); private PopMusicRecommendService popMusicRecommendService = new PopMusicRecommendService(); public List<String> recommend(String style) { List<String> recommendMusicList = new ArrayList<>(); if ("metal".equals(style)) { metalMusicRecommendService.recommend(); } else if ("country".equals(style)) { countryMusicRecommendService.recommend(); } else if ("grunge".equals(style)) { grungeMusicRecommendService.recommend(); }else { popMusicRecommendService.recommend(); } return recommendMusicList; }}改造后,如果有了新音乐风格推荐的需求,只需要增加相应的 xxxMusicRecommendService 类。然后在 RecommendMusicService 中增加相应分支即可。这样就做到了开闭原则。那么还有什么违背设计原则的地方吗?RecommendMusicService 是不是依赖的 xxMusicRecommendService 类太多了?没错,而且这么多类,实际上都是做推荐的事情,且都是通过 recommend 方法提供推荐结果。这完全可以抽象出接口,比如 MusicRecommendInterface。那么 RecommendMusicService 依赖 MusicRecommendInterface 就可以了。这解决了依赖反转问题----应该依赖接口,而不是依赖具体实现。我们又复习了单一职责和依赖反转原则。不愧是指导设计模式的原则,真的是无处不在。依赖 MusicRecommendInterface 没问题,但是不同的音乐风格,怎么能实例化 MusicRecommendInterface 的某个具体实现呢?工厂模式于是就应运而生了!
- Eclipse 通过重构进行拷贝和移动 学习经典 Java 集成开发环境 Eclipse
- 动态规划之钢条切割问题 算法,程序员自我提升必经之路
fade相关搜索
-
face
fade
fadein
fadeout
fadeto
fail
family
fastcgi
fastjson
fault
fclose
fdisk
feed
fetch
ff浏览器
fgets
fields
fieldset
fighting
figure