JS實(shí)現(xiàn)多物體緩沖運(yùn)動(dòng)實(shí)例代碼
效果:
思路:
利用setInterval計(jì)時(shí)器進(jìn)行運(yùn)動(dòng),offsetWidth實(shí)現(xiàn)寬度的變動(dòng),在用onmouseover將終點(diǎn)和所選中的DIV放入?yún)?shù)再進(jìn)行緩沖運(yùn)動(dòng)。
代碼:
<head runat="server">
<title></title>
<style type="text/css">
div
{
width: 100px;
height: 50px;
background: #0000FF;
margin: 10px;
}
</style>
<script type="text/javascript">
window.onload = function () {
var oDiv = document.getElementsByTagName('div');
for (var i = 0; i < oDiv.length; i++) {
oDiv[i].timer = null; //給買個(gè)DIV做個(gè)標(biāo)記,用以關(guān)閉相應(yīng)DIV的定時(shí)器
oDiv[i].onmouseover = function () {
move(this, 400); //給定時(shí)器輸出參數(shù)
}
oDiv[i].onmouseout = function () {
move(this, 100);
}
}
};
function move(div, end) {
clearInterval(div.timer);
div.timer = setInterval(function () {
var speed = (end - div.offsetWidth) / 5; //(終點(diǎn)-要走的寬度)/縮放系數(shù)=DIV移動(dòng)的速度
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); //小數(shù)取整,也就是進(jìn)位取整
if (div.offsetWidth == end) { //當(dāng)?shù)竭_(dá)終點(diǎn)時(shí)關(guān)閉計(jì)時(shí)器
clearInterval(div.timer);
}
else {
div.style.width = div.offsetWidth + speed + 'px'; //移動(dòng)DIV的寬度
}
}, 30)
}
</script>
</head>
<body>
<div>
</div>
<div>
</div>
<div>
</div>
</body>
- JavaScript實(shí)現(xiàn)多個(gè)物體同時(shí)運(yùn)動(dòng)
- JS實(shí)現(xiàn)多物體運(yùn)動(dòng)的方法詳解
- JS運(yùn)動(dòng)改變單物體透明度的方法分析
- JS實(shí)現(xiàn)物體帶緩沖的間歇運(yùn)動(dòng)效果示例
- JS多物體實(shí)現(xiàn)緩沖運(yùn)動(dòng)效果示例
- js多個(gè)物體運(yùn)動(dòng)功能實(shí)例分析
- javascript多物體運(yùn)動(dòng)實(shí)現(xiàn)方法分析
- Javascript 多物體運(yùn)動(dòng)的實(shí)現(xiàn)
- JS多物體 任意值 鏈?zhǔn)?緩沖運(yùn)動(dòng)
- JS實(shí)現(xiàn)多物體運(yùn)動(dòng)
相關(guān)文章
動(dòng)態(tài)創(chuàng)建script在IE中緩存js文件時(shí)導(dǎo)致編碼的解決方法
這篇文章主要介紹了動(dòng)態(tài)創(chuàng)建script在IE中緩存js文件時(shí)導(dǎo)致編碼的解決方法,需要的朋友可以參考下2014-05-05laydate 顯示結(jié)束時(shí)間不小于開始時(shí)間的實(shí)例
下面小編就為大家?guī)?lái)一篇laydate 顯示結(jié)束時(shí)間不小于開始時(shí)間的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08在javascript中如何得到中英文混合字符串的長(zhǎng)度
本文為大家介紹下Javascript中如何得到中英文混合字符串的長(zhǎng)度,下面有個(gè)不錯(cuò)的教程,感興趣的朋友可以參考下2014-01-01BootStrap模態(tài)框閃退問(wèn)題實(shí)例代碼詳解
這篇文章主要介紹了BootStrap模態(tài)框閃退問(wèn)題實(shí)例代碼詳解,需要的朋友可以參考下2018-12-12從階乘函數(shù)對(duì)比Javascript和C#的異同
今天學(xué)習(xí)Javascript函數(shù),發(fā)現(xiàn)這完全是一個(gè)神奇的東西。跟我們平常所見強(qiáng)類型語(yǔ)言中的函數(shù)有好多不同。下面我們就從C#和JavaScript的兩個(gè)計(jì)算階乘的函數(shù)中比較兩者的異同2012-05-05淺析webpack 如何優(yōu)雅的使用tree-shaking(搖樹優(yōu)化)
這篇文章主要介紹了webpack 如何使用tree-shaking(搖樹優(yōu)化),本文介紹了什么是tree-shaking,commonJS 模塊,es6 模塊,怎么使用tree-shaking等,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下。2017-08-08