壁にぶつかって跳ね返る
5164 ワード
壁にぶつかって跳ね返るということは、実際には違ったレベルでleftとtop値またはmargin値を変えて実現されています.中には一つの点が重要だと思います.一方に行った時に戻ったらどうやってまっすぐにしますか?コードは以下の通りです
- <body onload="test()">
- <div class="father">
- <div class="son"> </div>
- </div>
- <script type="text/javascript">
- var divs=document.getElementsByTagName("div");
- var a=divs[0].clientWidth-divs[1].offsetWidth;
- var b=divs[0].clientHeight-divs[1].offsetHeight;
- var aa=divs[1].offsetLeft;
- var bb=divs[1].offsetTop;
- var m1=true;
- var m2=true;
- function move1(){
- if(m1){
- if(aa<a){aa++;divs[1].style.left=aa+"px";}
- else m1=false;
- }
- else{
- if(aa>0){aa--;divs[1].style.left=aa+"px";}
- else m1=true;
- }
- }
-
- function move2(){
- if(m2){
- if(bb<b){bb++;divs[1].style.top=bb+"px";}
- else m2=false;
- }
- else{
- if(bb>0){bb--;divs[1].style.top=bb+"px";}
- else m2=true;
- }
- }
-
- function test(){
-
- var time1=setInterval("move1()",10);
- var time2=setInterval("move2()",10);
- }
- </script>