如何用JS写一个风车效果,代码是什么
Admin 2022-11-15 群英技术资讯 616 次浏览
具体内容如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>找风车</title> <style> #div1{ width: 800px; height: 610px; border: 1px solid red; } img{ width: 60px; height: 60px; } <!--infinite 无限的 linear 匀速--> .fc{ animation:wm 2s infinite linear; } @keyframes wm { from { transform:rotate(0deg); } to { transform:rotate(360deg); } } .reverse{ animation:wm1 2s infinite linear; } @keyframes wm1 { from { transform:rotate(0deg); } to { transform:rotate(-360deg); } } </style> </head> <body> <div style="margin: 50px 450px"> <h2 style="text-align: center">玩转风车</h2> <h3 style="text-align: center">生成<input type="text" onblur="generateFC(this.value)" size="1">个风车 <input type="button" value="停止" onclick="stop1()"> <input type="button" value="开始" onclick="start1()"> <input type="button" value="反向" onclick="reverse()"> 转<input type="text" size="1" value="" onblur="circle(this.value)">圈 <input type="button" value="放大" onclick="big()"> <input type="button" value="缩小" onclick="small()"> </h3> <div id="div1"> <!--此处生成风车--> </div> </div> </body> <script> //1.生成风车 //获取输入框的value值num function generateFC(num) { //每次触发失去焦点事件进行清空风车 document.getElementById("div1").innerHTML='' //把value值进行遍历 for (let i = 0; i <num ; i++) { //每次遍历都向页面加入img标签并设置class属性fc 顺时针转动 document.getElementById("div1").innerHTML+= '<img src="img/logo.png" class="fc" height="240" width="240"/>'; } } //获取所有的img标签 let img = document.getElementsByTagName('img'); //2.停止 function stop1() { //遍历所有的img标签并设置class属性为无 for (let i = 0; i <img.length ; i++) { img[i].className='' } } //3.开始 function start1() { for (let i = 0; i <img.length ; i++) { //将img属性设置为无 img[i].className='fc' } } //4.反向 function reverse() { for (let i = 0; i <img.length ; i++) { img[i].className='reverse' } } //5.转几圈 function circle(num) { for (let i = 0; i <img.length ; i++) { //首先将风车的class属性设置为转动,num圈后调用stop1函数 img[i].className='fc' setTimeout(stop1,2000*num) } } //6.变大 function big() { for (let i = 0; i <img.length ; i++) { //将img的style属性width设置为当前的width度的2倍 img[i].style.width=img[i].width*2+"px" img[i].style.height=img[i].height*2+"px" } } //7.变小 function small() { for (let i = 0; i< img.length ; i++) { img[i].style.width=img[i].width/2+"px" img[i].style.height=img[i].height/2+"px" } } </script>
代码图片
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Node.js怎么实现分片上传?下面本篇文章给大家介绍一下Node.js实现分片上传的方法,希望对大家有所帮助!
今天给大家分享的是关于JavaScript中分号的内容,一些朋友会纠结加不加分号的问题,其实掌握分好的作用,这个问题就很好解决了。对此,下面小编就给大家介绍一下JavaScript中分号的作用及要注意的几点。
JavaScript封装弹框插件的方法 JavaScript封装弹框插件的具体代码,供大家参考,具体内容如下 知识点1.document.querySelector() 方法 querySelector() 方法返回文档中匹配指定 CSS 选择器的一个元素.注意: querySelector() 方法仅仅返回匹配指定选择器的第一个元素.如果你需要返回所有的元素,请使用 querySelectorAll() 方法替代.querySelectorAll() 方法返回文档中匹配指定 CSS 选择器的所有元素,返回 [NodeList] 对象
本文实例为大家分享了canvas实现圆形流水动画的具体代码,供大家参考,具体内容如下
简介Diffie-Hellman(简称DH)是密钥交换算法之一,它的作用是保证通信双方在非安全的信道中安全地交换密钥。目前DH最重要的应用场景之一,就是在HTTPS的握手阶段,客户端、服务端利用DH算法交换对称密钥。下面会先简单介绍DH的数理基础,然后举例说明如何在nodejs中使用DH相关的API。数论基础要理解DH算法,需要掌握一定的数论基础。感兴趣的可以进一步研究推导过程,或者直接记
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008