• html中滚动小球的demo


    类似于下图的效果:

    代码:

      1 <!DOCTYPE html>
      2 
      3 <html>
      4 <head>
      5     <title>Promise animation</title>
      6     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      7     <style type="text/css">
      8         .ball{
      9             width: 40px;
     10             height: 40px;
     11             border-radius: 20px;
     12         }
     13 
     14         .ball1{
     15             background: red;
     16         }
     17         .ball2{
     18             background: yellow;
     19         }
     20         .ball3{
     21             background: orange;
     22         }
     23         .ball4{
     24             background: orange;
     25         }
     26         .ball5{
     27             background: yellow;
     28         }
     29         .ball6{
     30             background: red;
     31         }
     32     </style>
     33 </head>
     34 <body>
     35     <div class="ball ball1" style="margin-left: 100px;"></div>
     36     <div class="ball ball2" style="margin-left: 120px;"></div>
     37     <div class="ball ball3" style="margin-left: 140px;"></div>
     38     <div class="ball ball4" style="margin-left: 100px;"></div>
     39     <div class="ball ball5" style="margin-left: 120px;"></div>
     40     <div class="ball ball6" style="margin-left: 140px;"></div>
     41     
     42     <br>
     43     <input id="id_txt" value="" />
     44     <br>
     45     <input id="id_button" value="点我 window.location='新url'" type="button"  onclick="newUrl();"/>
     46     <script type="text/javascript">
     47         var ball1 = document.querySelector('.ball1');
     48         var ball2 = document.querySelector('.ball2');
     49         var ball3 = document.querySelector('.ball3');
     50         var ball4 = document.querySelector('.ball4');
     51         var ball5 = document.querySelector('.ball5');
     52         var ball6 = document.querySelector('.ball6');
     53 
     54         // alert(ball1);
     55         function newUrl(){
     56             var obj = {};
     57             obj.target =  document.getElementById('id_button');
     58             var tmp_localhost = window.location.origin;//    "http://localhost:8080"
     59             var pathName = window.location.pathname;// "/Mytag/locationtest.html"
     60             var index_ = pathName.indexOf("/", "1");// 
     61             var projectName = pathName.substring(0, index_);//获取到 当前的项目名 类似于 /Mytag
     62             if(obj.target){
     63                 //跳转到另一个页面,就有点和点超链接类似
     64                 //                  主机名(包含端口号)  项目名        资源路径
     65                 window.location = tmp_localhost+projectName+'/declaration.jsp';
     66             }
     67         }
     68         function recyle(obj) {
     69             // 用来保存所有的属性名称和值
     70             var props = "";
     71             // 开始遍历
     72             for ( var p in obj) { // 方法
     73                 if (typeof (obj[p]) == "function") {
     74                     if(p=="querySelector"){
     75                         console.log('--------------asfawa');
     76                     }
     77                     props += "function:"+p+"
    ";
     78                 } else { // p 为属性名称,obj[p]为对应属性的值
     79                     props += p + " = " + obj[p] + " 
     ";
     80                 }
     81             } // 最后显示所有的属性
     82             console.log(props+"
    ");
     83             // document.getElementById('id_txt').value = props;
     84         }
     85 
     86 
     87         function animate(ball,distance,callback){
     88             var margin_left =parseInt(ball.style.marginLeft,10);
     89             setTimeout(function(){
     90                 if(margin_left===distance){
     91                     callback&&callback();
     92                 }else{
     93                     if(margin_left<distance){
     94                         margin_left++;
     95                     }else{
     96                         margin_left--;
     97                     }
     98                     ball.style.marginLeft = margin_left+'px';
     99                     animate(ball,distance,callback);
    100                 }
    101             },12);
    102             
    103             
    104         }
    105         function re(){
    106             animate(ball1,170,function(){
    107                 animate(ball2,170,function(){
    108                     animate(ball3,170,function(){
    109                         animate(ball3,90,function(){
    110                             animate(ball2,90,function(){
    111                                 animate(ball1,90,function(){
    112                                     re();
    113                                 });
    114                             });
    115                         });
    116                     });
    117                 });
    118             });
    119         }
    120 
    121         function re2(){
    122             animate(ball4,170,function(){
    123                 animate(ball5,170,function(){
    124                     animate(ball6,170,function(){
    125                         animate(ball6,90,function(){
    126                             animate(ball5,90,function(){
    127                                 animate(ball4,90,function(){
    128                                     re2();
    129                                 });
    130                             });
    131                         });
    132                     });
    133                 });
    134             });
    135         }
    136         
    137 
    138         re();
    139         re2();
    140 
    141         // animate(ball1,600,animate);
    142 
    143     </script>
    144 </body>
    145 </html>
  • 相关阅读:
    常用DOS命令
    uCGUI窗口重绘代码分析
    STM32的FSMC总线驱动ili9341,掉电重启无法正常显示的问题
    再次编译 arm toolchains
    GDB和GDB Server
    QT Creator 环境使用 remote debug 调试 arm 程序
    [转]一个简洁的 systemd 操作指南
    用 bottle.py 写了个简单的升级包上传
    批量 ping 测试脚本(IP 扫描)
    float 对整形的取余运算
  • 原文地址:https://www.cnblogs.com/Sunnor/p/6910891.html
Copyright © 2020-2023  润新知