JavaScript緩沖運(yùn)動(dòng)實(shí)現(xiàn)方法(2則示例)
本文實(shí)例講述了JavaScript緩沖運(yùn)動(dòng)實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
實(shí)現(xiàn)原理:(目標(biāo)距離-當(dāng)前距離) / 基數(shù) = 速度(運(yùn)動(dòng)距離越大速度越小,運(yùn)動(dòng)距離和速度成反比)
需要注意:當(dāng)計(jì)算出來(lái)的速度有小數(shù)時(shí)需要取整;
例子1:滑塊緩沖運(yùn)動(dòng)
<!doctype html> <html> <head> <meta charset="utf-8"> <title>緩沖運(yùn)動(dòng)</title> <style> #div1{ width:100px; height:100px; background:red; position:absolute; top:50px; left:0;} span{ width:1px; height:300px; background:black; position:absolute; left:300px; top:0; display:block;} </style> <script> window.onload = function() { var oBtn = document.getElementById('btn1'); var oDiv = document.getElementById('div1'); oBtn.onclick = function() { startMove(oDiv, 300); }; }; var timer = null; function startMove(obj, iTarget) { clearInterval(timer); timer = setInterval(function(){ var iSpeed = (iTarget - obj.offsetLeft)/8; iSpeed = iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed); if(iTarget==obj.offsetLeft){ clearInterval(timer); }else{ obj.style.left = obj.offsetLeft + iSpeed + 'px'; } }, 30); } </script> </head> <body> <input id="btn1" type="button" value="移動(dòng)" /> <div id="div1"></div> <span></span> </body> </html>
例子2:側(cè)邊欄滑動(dòng)
<!doctype html> <html> <head> <meta charset="utf-8"> <title>側(cè)邊欄滑動(dòng)</title> <style> #div1{ width:100px; height:100px; background:red; position:absolute; right:0; top:0;} </style> <script> window.onload = window.onscroll = function() { var oDiv = document.getElementById('div1'); var iScrollTop = document.documentElement.scrollTop || document.body.scrollTop; var clientHeight = document.documentElement.clientHeight; var iH = (clientHeight - oDiv.offsetHeight)/2 + iScrollTop; //oDiv.style.top = iH + 'px'; startMove(oDiv, parseInt(iH)); }; var timer = null; function startMove(obj, iTarget) { clearInterval(timer); timer = setInterval(function(){ var iSpeed = (iTarget - obj.offsetTop) / 8; iSpeed = iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed); if(obj.offsetTop == iTarget){ clearInterval(timer); }else{ obj.style.top = obj.offsetTop + iSpeed + 'px'; } }, 30); } </script> </head> <body style="height:2000px;"> <div id="div1"></div> </body> </html>
更多關(guān)于JavaScript運(yùn)動(dòng)效果相關(guān)內(nèi)容可查看本站專題:《JavaScript運(yùn)動(dòng)效果與技巧匯總》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- js實(shí)現(xiàn)緩沖運(yùn)動(dòng)效果的方法
- JS實(shí)現(xiàn)多物體緩沖運(yùn)動(dòng)實(shí)例代碼
- JS多物體 任意值 鏈?zhǔn)?緩沖運(yùn)動(dòng)
- JavaScript實(shí)現(xiàn)跟隨滾動(dòng)緩沖運(yùn)動(dòng)廣告框
- JS多物體實(shí)現(xiàn)緩沖運(yùn)動(dòng)效果示例
- javascript 緩沖運(yùn)動(dòng)框架的實(shí)現(xiàn)
- JavaScript中的勻速運(yùn)動(dòng)和變速(緩沖)運(yùn)動(dòng)詳細(xì)介紹
- JS實(shí)現(xiàn)物體帶緩沖的間歇運(yùn)動(dòng)效果示例
- JS實(shí)現(xiàn)運(yùn)動(dòng)緩沖效果的封裝函數(shù)示例
- JS實(shí)現(xiàn)的緩沖運(yùn)動(dòng)效果示例
相關(guān)文章
顯示今天的日期js代碼(陽(yáng)歷和農(nóng)歷)
這篇文章主要介紹了Js中顯示日期和農(nóng)歷的代碼,很簡(jiǎn)單,但很實(shí)用,有圖片,需要的朋友可以參考下2014-09-09js實(shí)現(xiàn)的簡(jiǎn)單圖片浮動(dòng)效果完整實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)的簡(jiǎn)單圖片浮動(dòng)效果,以完整實(shí)例形式分析了javascript實(shí)現(xiàn)圖片定時(shí)漂浮移動(dòng)功能的方法,涉及javascript定時(shí)函數(shù)與數(shù)值動(dòng)態(tài)運(yùn)算相關(guān)技巧,需要的朋友可以參考下2016-05-05關(guān)于javascript中限定時(shí)間內(nèi)防止按鈕重復(fù)點(diǎn)擊的思路詳解
下面小編就為大家?guī)?lái)一篇關(guān)于javascript中限定時(shí)間內(nèi)防止按鈕重復(fù)點(diǎn)擊的思路詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08llqrcode js識(shí)別二維碼解析二維碼信息實(shí)例
這篇文章主要為大家介紹了llqrcode js識(shí)別二維碼解析二維碼信息實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11js實(shí)現(xiàn)日期級(jí)聯(lián)效果
本篇文章主要是對(duì)js實(shí)現(xiàn)日期級(jí)聯(lián)效果的實(shí)例進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01JavaScript仿小米商城官網(wǎng)完整頁(yè)面實(shí)現(xiàn)流程
只能看不能玩的靜態(tài)頁(yè)面早就看夠了吧,今天我們來(lái)做一個(gè)相對(duì)完整的動(dòng)態(tài)網(wǎng)站,用Javascript來(lái)實(shí)現(xiàn)模仿小米的官網(wǎng)商城,感興趣的朋友快來(lái)看看吧2021-11-11javascript-表格排序(降序/反序)實(shí)現(xiàn)介紹(附圖)
使用了Array方法、sort:降序、reverse:反序完成了基本功能,對(duì)于聯(lián)合排序沒(méi)有實(shí)現(xiàn),感興趣的朋友可以參考下哈2013-05-05ASP中Sub和Function的區(qū)別說(shuō)明
主要的區(qū)別是有返回值,一般sub是用來(lái)調(diào)用大量的內(nèi)容的時(shí)候用sub,對(duì)于需要計(jì)算并需要返回值的時(shí)候用function,多用function定義函數(shù)。2011-01-01全面解析Bootstrap中transition、affix的使用方法
這篇文章主要為大家詳細(xì)解析了Bootstrap中transition、affix的使用方法,感興趣的朋友可以參考一下2016-05-05