原生JS實現(xiàn)各種運(yùn)動之勻速運(yùn)動
更新時間:2021年08月24日 08:36:30 作者:aiguangyuan
這篇文章主要為大家詳細(xì)介紹了原生JS實現(xiàn)各種運(yùn)動之勻速運(yùn)動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文給大家分享一個用原生JS實現(xiàn)的勻速運(yùn)動,效果如下:

需要注意的是,這種運(yùn)動效果在實際的開發(fā)中用的比較少,用的更多的還是彈性運(yùn)動和緩沖運(yùn)動,以下是代碼實現(xiàn),歡迎大家復(fù)制粘貼及吐槽。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>原生JS實現(xiàn)各種運(yùn)動之勻速運(yùn)動</title>
<style>
#div1 {
width: 100px;
height: 100px;
position: absolute;
background: red;
left: 0;
top: 50px;
}
span {
width: 1px;
height: 300px;
background: black;
position: absolute;
left: 300px;
top: 0;
}
;
</style>
<script type="text/javascript">
var timer = null;
function startMove(iTarget) {
var oDiv = document.getElementById('div1');
clearInterval(timer);
timer = setInterval(function () {
var iSpeed = 0;
if (oDiv.offsetLeft < iTarget) {
iSpeed = 7;
} else {
iSpeed = -7;
}
//是否到達(dá)終點(diǎn)
if (Math.abs(oDiv.offsetLeft - iTarget) < 7) {
//到達(dá)終點(diǎn)
clearInterval(timer);
oDiv.style.left = iTarget + 'px';
} else {
//到達(dá)之前
oDiv.style.left = oDiv.offsetLeft + iSpeed + 'px';
}
}, 30);
}
</script>
</head>
<body>
<input type="button" value="開始運(yùn)動" onclick="startMove(300)" />
<div id="div1"></div>
<span></span>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript相等運(yùn)算符的九條規(guī)則示例詳解
這篇文章主要給大家介紹了關(guān)于JavaScript相等運(yùn)算符的九條規(guī)則,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
js檢測離開或刷新頁面時表單數(shù)據(jù)是否更改的方法
這篇文章主要介紹了js檢測離開或刷新頁面時表單數(shù)據(jù)是否更改的方法,涉及javascript表單操作及事件響應(yīng)的相關(guān)技巧,需要的朋友可以參考下2016-08-08

