最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript緩沖運(yùn)動(dòng)實(shí)現(xiàn)方法(2則示例)

 更新時(shí)間:2016年01月08日 11:22:25   作者:lostyu  
這篇文章主要介紹了JavaScript緩沖運(yùn)動(dòng)實(shí)現(xiàn)方法,簡(jiǎn)單分析了JavaScript緩沖運(yùn)動(dòng)的實(shí)現(xiàn)原理與相關(guān)運(yùn)算技巧,并給出了兩則實(shí)例代碼予以總結(jié)分析,需要的朋友可以參考下

本文實(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)距離和速度成反比)

復(fù)制代碼 代碼如下:
(500 - oDiv.offsetLeft) / 7 = iSpeed;

需要注意:當(dāng)計(jì)算出來(lái)的速度有小數(shù)時(shí)需要取整;

復(fù)制代碼 代碼如下:
(500 - oDiv.offsetLeft) / 7 = iSpeed; iSpeed = iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);

例子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)容可查看本站專(zhuān)題:《JavaScript運(yùn)動(dòng)效果與技巧匯總

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

云浮市| 永德县| 吉林省| 巴中市| 安康市| 会昌县| 新丰县| 额济纳旗| 赞皇县| 阿合奇县| 龙门县| 从化市| 临猗县| 周口市| 米易县| 化隆| 磐安县| 绥宁县| 保定市| 四平市| 孝昌县| 宜章县| 兰考县| 和硕县| 罗甸县| 乌恰县| 广汉市| 株洲市| 淮南市| 吉木萨尔县| 兴义市| 江山市| 家居| 新源县| 湘阴县| 海城市| 兰西县| 彰化市| 龙南县| 峨山| 安丘市|