js案例-静态风车图如何正、反旋转、设置圈数、定时器的应用

博客围绕风车图展开,提到可使用document.write(img.src)输出img.src,介绍了onclick()点击事件和onblur()失去焦点事件,还表示可进行复制测试并展示大致效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

风车图:
在这里插入图片描述

  1. 注意:
  2. img.src 可以用 document.write(img.src) 输出一下
  3. onclick()是点击事件
  4. onblur()是失去焦点,就是鼠标离开那个位置,就失去了焦点

可copy测试一下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>找风车</title>
    <style>
        #div1{
            width: 610px;
            height: 610px;
            border: 1px solid red;
        }
        img{
            width: 60px;
            height: 60px;
        }
        .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>
    function big() {
        var fcs = document.getElementsByTagName('img');
        for (var i = 0; i < fcs.length; i++) {
            console.log(fcs[i].width*2)
            fcs[i].style.width=fcs[i].width*2+'px'
            fcs[i].style.height=fcs[i].height*2+'px'
        }
    }
    function small() {
        var fcs = document.getElementsByTagName('img');
        for (var i = 0; i < fcs.length; i++) {
            console.log(fcs[i].width*2)
            fcs[i].style.width=fcs[i].width/2+'px'
            fcs[i].style.height=fcs[i].height/2+'px'
        }
    }
    function circle(num) {
        var fcs = document.getElementsByTagName('img');
        if(fcs[0].className==""){//如果没转就启动
            start1()
        }else {//如果在转,就停下来,
            stop1()
            //0.1秒后,再启动
            setTimeout(start1,100)
        }
        setTimeout(stop1,num*2000)
    }
    function reverse() {
        var fcs = document.getElementsByTagName('img');
        for (var i = 0; i < fcs.length; i++) {
            fcs[i].className="reverse"
        }
    }
    function start1() {
        var fcs = document.getElementsByTagName('img');
        for (var i = 0; i < fcs.length; i++) {
            fcs[i].className="fc"
        }
    }
    function stop1() {
        var fcs = document.getElementsByTagName('img');
        for (var i = 0; i < fcs.length; i++) {
            fcs[i].className=""
        }
    }

    var div1 = document.getElementById(`div1`);
    function generateFC(num) {
        div1.innerHTML=''
        for (var i=1;i<=num;i++){
            div1.innerHTML+='<img src="http://localhost:63343/jsday04/img/logo.png" class="fc" alt="">'
        }
    }
</script>
</html>

大致效果

在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值