用原生JS可以做百叶窗效果吗,代码如何写
Admin 2022-06-23 群英技术资讯 305 次浏览
本文分享一个用原生JS实现的百叶窗特效,效果如下:
代码实现如下,欢迎大家复制粘贴。
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>原生JS实现百叶窗特效</title> <style> * { margin: 0; padding: 0; } li { list-style: none; } a { text-decoration: none; } #box { width: 562px; padding: 10px 24px 20px; background: #EACFCF; overflow: hidden; margin: 20px auto 0; } .left { width: 266px; float: left; } .right { width: 266px; float: right; } #box h2 { height: 38px; border-bottom: 1px solid #D2A1A1; padding-left: 20px; } #box h2 strong { float: left; line-height: 38px; color: #885050; font-weight: normal; } #box h2 a { float: right; width: 52px; height: 14px; font-size: 12px; text-indent: 10px; color: #fff; line-height: 12px; font-weight: normal; margin-top: 10px; } #box li { height: 30px; position: relative; border-bottom: 1px dashed #D1A1A1; } #box li div, #box li p { height: 30px; position: absolute; top: 0; left: 0; width: 100%; } #box li p { background: #fff; opacity: 0; filter: alpha(opacity=0); } #box li div a, #box li div span { line-height: 30px; font-size: 12px; height: 30px; } #box li div a { float: left; padding-left: 20px; color: #7F5454; width: 172px; overflow: hidden; } #box li div span { padding-right: 10px; float: right; color: #CF9494; } </style> <script type="text/javascript"> window.onload = function () { var oBox = document.getElementById("box"); var aLi = document.getElementsByTagName('li'); var i = 0; for (i = 0; i < aLi.length; i++) { var oP = aLi[i].getElementsByTagName('p')[0]; oP.iAlpha = 0; oP.time = null; aLi[i].onmouseover = function () { var oP = this.getElementsByTagName('p')[0]; oP.time ? clearInterval(oP.time) : ""; oP.style.opacity = 1; oP.style.filter = "alpha(opacity=100)"; oP.iAlpha = 100; } aLi[i].onmouseout = function () { starmove(this.getElementsByTagName('p')[0]); }; } }; function starmove(obj) { obj.time ? clearInterval(obj.time) : ""; obj.time = setInterval(function () { domove(obj); }, 14); } function domove(obj) { var iSpeed = 5; if (obj.iAlpha <= iSpeed) { clearInterval(obj.time); obj.iAlpha = 0; obj.time = null; } else { obj.iAlpha -= iSpeed; } obj.style.opacity = obj.iAlpha / 100; obj.style.filter = "alpha(opacity=" + obj.iAlpha + ")"; } </script> </head> <body> <div id="box"> <div class="left"> <h2> <strong>最新消息</strong> <a>more</a> </h2> <ul> <li> <p></p> <div> <a>课程常见问题合集</a> <span>20110329</span> </div> </li> <li> <p></p> <div> <a>JS课程结课标准</a> <span>20110327</span> </div> </li> <li> <p></p> <div> <a>网页特效大集合(每天更新)</a> <span>20110322</span> </div> </li> <li> <p></p> <div> <a>上课地点</a> <span>20110319</span> </div> </li> <li> <p></p> <div> <a>CSS课程最新开班时间</a> <span>20110319</span> </div> </li> <li> <p></p> <div> <a>JavaScript课程最新开班时间</a> <span>20110319</span> </div> </li> <li> <p></p> <div> <a>零基础网页制作课程</a> <span>20110319</span> </div> </li> </ul> </div> <div class="right"> <h2> <strong>新鲜事</strong> <a>more</a> </h2> <ul> <li> <p></p> <div> <a>JavaScript实现的3D球面标签云效果</a> <span>20110329</span> </div> </li> <li> <p></p> <div> <a>周六JavaScript聚会活动现场记录</a> <span>20110327</span> </div> </li> <li> <p></p> <div> <a>阿里前端面试题</a> <span>20110319</span> </div> </li> <li> <p></p> <div> <a>浅析google地图前端实现原理(一)</a> <span>20110319</span> </div> </li> <li> <p></p> <div> <a>Windows计算器(简易版)作业练习</a> <span>20110319</span> </div> </li> <li> <p></p> <div> <a>手风琴缓动效果</a> <span>20110319</span> </div> </li> <li> <p></p> <div> <a>JavaScript实现的3D球面标签云效果</a> <span>20110319</span> </div> </li> </ul> </div> </div> </body> </html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
篇文章介绍的是React嵌套组件构建顺序的问题,究竟在嵌套组件中,是父组件先构建,还是子组件先构建?是子组件先更新,还是父组件先更新呢?接下来小编就与大家一起来探讨一下。
在ES6(ES2015)出现之前,JavaScript中声明变量就只有通过var关键字,函数声明是通过function关键字,而在ES6之后,声明的方式有var、let、const、function、class,本文主要讨论var、let和const之间的区别
pinia是一个轻量级的状态管理库,属于 vue3 生态圈新的成员之一,下面这篇文章主要给大家介绍了关于Vue项目新一代状态管理工具Pinia的使用教程,需要的朋友可以参考下
目录正文拖拽旋转缩放小结正文到目前为止,我们已经能够对物体进行点选和框选的操作了,但是这还不够,因为并没有什么实际性的改变,并且画布看起来也有点呆板,所以这个章节的主要目的就是让画布中的物体活起来,其实就是增加一些常见的交互而已啦????,比如拖拽、旋转和缩放。这是这个系列最重要的章节之一,希望能够对你有所帮助。拖拽先来说说
本文实例为大家分享了微信小程序实现轮播图指示器的具体代码,供大家参考,具体内容如下1.文件目录2.轮播图页面布局需求:自定义轮播指示器:当轮播图发生变化时,自定义轮播指示器跟随图片发生对应改变bindchange:current 改变时会触发 change 事件,即当图片索引发生变化时触发的事件current:当前所在
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008