中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js中的運動

發布時間:2020-07-25 02:55:07 來源:網絡 閱讀:487 作者:歆冉 欄目:web開發

1 簡單運動(勻速)

box{
????width:?100px;
????height:?100px;
????background-color:?#ccc;
????position:?absolute;
????top:200px;
????left:?0;
}
<script?type="text/javascript">
????var?obtn?=?document.querySelector('button');
????var?obox?=?document.querySelector('.box');
????//?設置速度
????var?speed?=?10;
????obtn.onclick=function(){
????//?1?先清除掉定時器
????clearInterval(obox.timer);
????????obox.timer?=?setInterval(function(){
????????obox.style.left?=?obox.offsetLeft?+?speed?+?'px'
????},30);
}
</script>

js中的運動js中的運動

2 指定運動的距離(勻速)

js中的運動

js代碼:

<script?type="text/javascript">
????var?obtn?=?document.querySelector('button');
????var?obox?=?document.querySelector('.box');
????var?totalDistance?=?500;
????//?設置速度
????var?speed?=?10;
????obtn.onclick?=?function()?{
????//?1?先清除掉定時器
????clearInterval(obox.timer);
????obox.timer?=?setInterval(function()?{
????obox.style.left?=?obox.offsetLeft?+?speed?+?'px'
????if(getStyle(obox,'left')?>=?totalDistance){
????//?已經到達目的地了
????obox.style.left?=?totalDistance?+?'px';
????//?同時我們還需要清除掉定時器
????clearInterval(obox.timer);
????}
????},?30);
}
//?封裝獲取樣式的方法??不帶px單位的
function?getStyle(ele,?style)?{
????let?result?=?ele.currentStyle???ele.currentStyle[style]?:?getComputedStyle(ele,?null)[style];
????return?parseInt(result);
}
</script>

3 緩沖運動(速度由快到慢,直至停止)

緩沖運動的原理: 速度由距離決定。即: 距離越大速度越大,距離越近,速度越小,直至為0.

js中的運動

4 加速運動(速度由慢到快,直至到達終點)

加速運動和緩沖運動相反,代碼也不需要做過多的修改

原理:根據移動的距離來設置速度,也就是正比關系

js中的運動

var?obtn?=?document.querySelector('button');
var?obox?=?document.querySelector('.box');
var?totalDistance?=?500;
//?設置速度
var?speed?=?null;
obtn.onclick?=?function()?{
//?1?先清除掉定時器
clearInterval(obox.timer);
obox.timer?=?setInterval(function()?{
//?1?獲取當前運動的距離
var?curPosition?=?getStyle(obox,'left');
//?2?speed是變化的?動態計算
speed?=?(curPosition?/?10)||1;
//?對speed進行取整操作
//?ceil:向上取整
//?floor:?向下取整
//?3?*需要對speed進行取整?否則達不到臨界值
speed?=?speed?>?0??Math.ceil(speed):Math.floor(speed);
obox.style.left?=?obox.offsetLeft?+?speed?+?'px';
console.log(speed);
if(getStyle(obox,'left')?>=?totalDistance){
console.log('我執行了沒');
obox.style.left?=?totalDistance?+?'px';
clearInterval(obox.timer);
}
},?30);
}
//?封裝獲取樣式的方法??不帶px單位的
function?getStyle(ele,?style)?{
????let?result?=?ele.currentStyle???ele.currentStyle[style]?:?getComputedStyle(ele,?null)[style];
????return?parseInt(result);
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

霍城县| 元朗区| 高要市| 蒲城县| 西盟| 乐业县| 益阳市| 遵化市| 汽车| 三门县| 天等县| 阿图什市| 宿州市| 慈利县| 新丰县| 佛坪县| 城固县| 汉中市| 南宁市| 醴陵市| 惠来县| 南昌县| 齐河县| 常熟市| 冀州市| 通渭县| 鲁山县| 建德市| 浪卡子县| 新蔡县| 深州市| 盐亭县| 东宁县| 石柱| 郑州市| 亚东县| 桂平市| 平陆县| 武穴市| 潜江市| 罗江县|