要实现一个元素的淡入淡出效果,大家需要先在CSS中定义该元素的样式,如下所示:
.fade { opacity: 0; transition: opacity 1s ease-in-out; }
这个样式会将元素的透明度设置为0,也就是完全不可见。同时,大家利用CSS中的transition
属性来定义动画效果的细节,其中包括了:
- 要进行动画的属性:这里是
opacity
,也就是元素的透明度 - 动画过渡时间:这里是1秒,也就是动画效果的持续时间
- 动画过渡效果:这里是
ease-in-out
,也就是增加或减少透明度的过程具有缓慢加速或减速的效果
接下来,大家可以通过JS来触发元素的淡入淡出效果。具体实现如下:
var fade = document.querySelector('.fade'); fade.addEventListener('click', function() { fade.classList.toggle('show'); });
这里大家通过querySelector()
方法获取到了定义了fade
类的元素fade
,然后通过addEventListener()
方法为该元素添加了一个点击事件处理函数。当大家单击该元素时,就会触发该函数,它会通过classList.toggle()
方法来切换元素的show
类,从而实现淡入淡出的效果。
最后,大家只需要在CSS文件中添加.show
类的样式:
.show { opacity: 1; }
这个样式会将元素的透明度设置为1,也就是完全可见,同时在1秒的动画时间内通过缓慢加速或减速的过程来实现元素的淡入淡出效果。