JS原生制作手风琴特效
2021/10/13 23:14:24
本文主要是介绍JS原生制作手风琴特效,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
我们在做开发时经常会遇到类似手风琴特效的需求,虽说现在的类库插件十分漂亮,偶尔有时间还是喜欢写一下原生的特效,欢迎各位评论指正,共同进步!
html代码如下:
<ul> <li><img src="imgs/shine.png" alt="pic"></li> <li><img src="imgs/peking.png" alt="pic"></li> <li><img src="imgs/car.jpg" alt="pic"></li> <li><img src="imgs/bmds.jpg" alt="pic"></li> <li><img src="imgs/star.jpg" alt="pic"></li> </ul>
css代码如下:
ul { list-style: none; width: 1000px; height: 400px; margin: 100px auto 20px auto; padding: 0; border: 5px solid #6f1; } li { overflow: hidden; float: left; width: 20%; height: 100%; } li img { display: block; width: 600px; height: 400px; }
js代码如下:
const ul = document.querySelector('ul'), aLi = ul.querySelectorAll('li'), len = aLi.length; //事件代理给ul 添加鼠标移动事件 ul.addEventListener('mouseover', function(ev) { if(ev.target.nodeName == 'IMG') {//确定事件源为 img 节点时,DOM结构做出相应改变 for(let i = 0; i < len; i++) { aLi[i].style.transition = 'width 300ms, opacity 500ms' aLi[i].style.width = '100px' aLi[i].style.opacity = .5 } ev.target.parentElement.style.width = '600px' ev.target.parentElement.style.opacity = 1 } })
动画效果如图:
这篇关于JS原生制作手风琴特效的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Vue项目实战:新手入门指南
- 2024-11-16React Hooks之useEffect案例详解
- 2024-11-16useRef案例详解:React中的useRef使用教程
- 2024-11-16React Hooks之useState案例详解
- 2024-11-16Vue入门指南:从零开始搭建第一个Vue项目
- 2024-11-16Vue3学习:新手入门教程与实践指南
- 2024-11-16Vue3学习:从入门到初级实战教程
- 2024-11-16Vue学习:新手入门必备教程
- 2024-11-16Vue3入门:新手必读的简单教程
- 2024-11-16Vue3入门:新手必读的简单教程