首頁 > web前端 > js教程 > js實現緩衝運動效果的方法_javascript技巧

js實現緩衝運動效果的方法_javascript技巧

WBOY
發布: 2016-05-16 16:04:55
原創
1075 人瀏覽過

本文實例講述了js實現緩衝運動效果的方法。分享給大家供大家參考。具體分析如下:

該實例可實現一開始速度很快,然後慢下來,直到停止的效果。

重點:

var speed = (target-box.offsetLeft)/8;
登入後複製

目標點減去元素的目前位置的值除以8,因為offsetleft的值是一直在變大,所以速度的值也是一直的變小

speed = speed>0?Math.ceil(speed):Math.floor(speed);
登入後複製

正向速度的時候向上取整,反向速度的時候向下取整

代碼:

<!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>
登入後複製

希望本文所述對大家的javascript程式設計有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板