zoukankan      html  css  js  c++  java
  • 定时器的应用(一)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style type="text/css">
            *{
                margin: 0;
                padding: 0;
            }
            #box1{
                 100px;
                height: 100px;
                background-image: linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%);
                position: absolute;
                left: 0;
            }
        </style>
        
        <script type="text/javascript">
    
            window.onload=function(){
                // 获取box1
                var box1=document.getElementById("box1");
                // 获取btn01
                var btn01=document.getElementById("btn01");
    
                // 定义一个变量,用来保存定时器的标识
                var timer;
                // 点击按钮以后,使box1向右移动(left值增大)
                btn01.onclick=function(){
                    // box1.style.left="200px";//点击按钮 向右移动200px
    
                    // 关闭上一个定时器
                    clearInterval(timer);
    
                    
                    
    
                    // 开启一个定时器,用来执行动画效果
                        timer = setInterval(function(){
                        // 获取box1的原来的left值
                        var oldValue = parseInt(getStyle(box1, "left"));
                        
                        // 在旧值的基础上增加
                        var newValue=oldValue+1;
    
                        // 判断newValue是否大于800
                        if(newValue>800){
                            newValue=800;
                        }
    
                        // 将新值设置给box1
                        box1.style.left=newValue+"px";
    
                        // 当元素移动到800px时,使其停止执行动画
                        if(newValue == 800){
                            // 达到目标,关闭定时器
                            clearInterval(timer);
                        }
                        
                        
                    }, 30);
                };
            };
    
             /* 
                   定义一个函数,用来获取指定元素的当前的样式
                   参数:
                       obj 要获取样式的元素
                       name 要获取的样式名
               */
    
                function getStyle(obj, name) {
    
                    if (window.getComputedStyle) {
                        // 正常浏览器的方式,具有getComputedStyle()方法
                        return getComputedStyle(obj, null)[name];
                    } else {
                        // IE8的方式,没有getComputedStyle()方法
                        return obj.currentStyle[name];
                    }
    
                    // return window.getComputedStyle? getComputedStyle(obj, null)[name]: obj.currentStyle[name];
    
                }
        </script>
    </head>
    <body>
    
        <button id="btn01">点击按钮以后box1向右移动</button>
        <br/><br/>
        <div id="box1"></div>
        <div style="0;height:1000px;border-left:1px black solid; position:absolute;left:800px;top:0;"></div>
    </body>
    </html>

  • 相关阅读:
    基于SSM框架web搜索功能的实现
    使用APICloud打包webapp
    mac如何运行vue项目
    前端和算法实现:给网站上加上自己的水印(以后用上)
    jQuery常用代码片段
    关于vscode的个人配置
    听说你想用git,安装一下咯
    vue创建项目的一种方法
    用js控制css动画效果@keyframes
    axios的封装和拦截
  • 原文地址:https://www.cnblogs.com/hr-7/p/14235136.html
Copyright © 2011-2022 走看看