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+"\n";
 78                 } else { // p 为属性名称,obj[p]为对应属性的值
 79                     props += p + " = " + obj[p] + " \n ";
 80                 }
 81             } // 最后显示所有的属性
 82             console.log(props+"\n");
 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>

 

posted @ 2017-05-26 23:42  Sunor  阅读(1820)  评论(0编辑  收藏  举报