JavaScript缓冲运动实现方法(2则示例)
本文实例讲述了JavaScript缓冲运动实现方法。分享给大家供大家参考,具体如下:
实现原理:(目标距离-当前距离)/基数=速度(运动距离越大速度越小,运动距离和速度成反比)
(500-oDiv.offsetLeft)/7=iSpeed;
需要注意:当计算出来的速度有小数时需要取整;
(500-oDiv.offsetLeft)/7=iSpeed;iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
例子1:滑块缓冲运动
<!doctypehtml>
<html>
<head>
<metacharset="utf-8">
<title>缓冲运动</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()
{
varoBtn=document.getElementById('btn1');
varoDiv=document.getElementById('div1');
oBtn.onclick=function()
{
startMove(oDiv,300);
};
};
vartimer=null;
functionstartMove(obj,iTarget)
{
clearInterval(timer);
timer=setInterval(function(){
variSpeed=(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>
<inputid="btn1"type="button"value="移动"/>
<divid="div1"></div>
<span></span>
</body>
</html>
例子2:侧边栏滑动
<!doctypehtml>
<html>
<head>
<metacharset="utf-8">
<title>侧边栏滑动</title>
<style>
#div1{width:100px;height:100px;background:red;position:absolute;right:0;top:0;}
</style>
<script>
window.onload=window.onscroll=function()
{
varoDiv=document.getElementById('div1');
variScrollTop=document.documentElement.scrollTop||document.body.scrollTop;
varclientHeight=document.documentElement.clientHeight;
variH=(clientHeight-oDiv.offsetHeight)/2+iScrollTop;
//oDiv.style.top=iH+'px';
startMove(oDiv,parseInt(iH));
};
vartimer=null;
functionstartMove(obj,iTarget)
{
clearInterval(timer);
timer=setInterval(function(){
variSpeed=(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>
<bodystyle="height:2000px;">
<divid="div1"></div>
</body>
</html>
更多关于JavaScript运动效果相关内容可查看本站专题:《JavaScript运动效果与技巧汇总》
希望本文所述对大家JavaScript程序设计有所帮助。