js實現(xiàn)緩沖運動效果的方法
更新時間:2015年04月10日 09:55:05 作者:jingangel
這篇文章主要介紹了js實現(xiàn)緩沖運動效果的方法,涉及javascript操作元素運動的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了js實現(xiàn)緩沖運動效果的方法。分享給大家供大家參考。具體分析如下:
該實例可實現(xiàn)一開始速度很快,然后慢下來,直到停止的效果。
要點:
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?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程序設(shè)計有所幫助。
相關(guān)文章
使用JavaScript為一張圖片設(shè)置備選路徑的方法
在做網(wǎng)頁開發(fā)的時候,有時候希望給圖片設(shè)置一個備選路徑,即,當src屬性對應(yīng)的主路徑加載失敗的時候,圖片可以馬上切換到備選路徑,怎么實現(xiàn)呢?下面通過本文給大家分享JavaScript為一張圖片設(shè)置備選路徑的方法,一起看看吧2017-01-01
use jscript Create a SQL Server database
use jscript Create a SQL Server database...2007-06-06
JS實現(xiàn)移動端實時監(jiān)聽輸入框變化的實例代碼
這篇文章主要介紹了JS實現(xiàn)移動端實時監(jiān)聽輸入框變化的解決方案,需要的朋友可以參考下2017-04-04
javascript prototype的深度探索不是原型繼承那么簡單
JavaScript中對象的prototype屬性,可以返回對象類型原型的引用。這是一個相當拗口的解釋,要理解它,先要正確理解對象類型(Type)以及原型(prototype)的概念。2008-06-06

