js untuk mencapai kemahiran effect_javascript gerakan penimbal

WBOY
Lepaskan: 2016-05-16 16:04:55
asal
1020 orang telah melayarinya

Contoh dalam artikel ini menerangkan kaedah merealisasikan kesan gerakan penimbal dalam js. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:

Contoh ini boleh mencapai kesan bermula dengan sangat pantas, kemudian perlahan sehingga ia berhenti.

Isi penting:

var speed = (target-box.offsetLeft)/8;
Salin selepas log masuk

Nilai titik sasaran tolak kedudukan semasa elemen dibahagikan dengan 8. Kerana nilai offsetleft terus menjadi lebih besar, nilai kelajuan terus menjadi lebih kecil

speed = speed>0?Math.ceil(speed):Math.floor(speed);
Salin selepas log masuk

Kelajuan hadapan dibundarkan ke atas, dan untuk kelajuan songsang ia dibundarkan ke bawah

Kod:

<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title>无标题文档</title>
<style>
<!--
body{margin:0; padding:0; font:12px/1.5 arial;}
#box{width:100px; height:100px; position:absolute;
background:#06c; left:0;}
-->
</style>
<script>
<!--
window.onload = function(){
 var box = document.getElementById("box");
 var btn = document.getElementById("btn");
 var timer=null;
 btn.onclick = function(){
  startrun(300);
 }
 function startrun(target){
  clearInterval(timer);
  timer = setInterval(function(){
  var speed = (target-box.offsetLeft)/8;
  speed = speed>0&#63;Math.ceil(speed):Math.floor(speed);
  if(box.offsetLeft == target){
   clearInterval(timer);
  }else{
   box.style.left = box.offsetLeft+speed+"px";
  }
  document.getElementById('abc').innerHTML+=box.offsetLeft+','+speed+'<br>';
  },30);
 }
}
//-->
</script>
</head>
<body>
<input id="btn" type="submit" value="向右运动">
<div id="box">
</div>
<br>
<textarea id="abc" cols="50" rows="10" 
style="margin-top:130px"></textarea>
</body>
</html>
Salin selepas log masuk

Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan