javascript運動框架用法實例分析(實現(xiàn)放大與縮小效果)
更新時間:2016年01月08日 11:56:18 作者:lostyu
這篇文章主要介紹了javascript運動框架用法,結(jié)合實例形式分析了javascript運動框架的實現(xiàn)與使用技巧,可實現(xiàn)div塊的放大與縮小功能,需要的朋友可以參考下
本文實例講述了javascript運動框架用法。分享給大家供大家參考,具體如下:
該運動框架可以實現(xiàn)多物體任意值運動
運行效果截圖如下:

例子:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>運動框架</title>
<style>
#div1{ width:100px; height:100px; background:red; position:absolute; left:0; top:50px; opacity:0.3; filter:alpha(opacity=30);}
</style>
<script>
window.onload = function()
{
var oBtn = document.getElementById('btn1');
var oDiv = document.getElementById('div1');
oBtn.onclick = function()
{
startMove(oDiv, {width:200, height:200, opacity:100}, function(){
startMove(oDiv, {width:100, height:100, opacity:30});
});
};
};
function getStyle(obj, attr)
{
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj, false)[attr];
}
}
function startMove(obj, json, fn)
{
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var bStop = true;
for(var attr in json){
var iCur = 0;
if(attr == 'opacity'){
iCur = Math.round(parseFloat(getStyle(obj, attr))*100);
}else{
iCur = parseInt(getStyle(obj, attr));
}
var iSpeed = (json[attr] - iCur)/8;
iSpeed = iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
if(iCur != json[attr]){
bStop = false;
}
if(attr == 'opacity'){
obj.style.filter = 'alpha(opacity='+(iCur+iSpeed)+')';
obj.style.opacity = (iCur+iSpeed)/100;
}else{
obj.style[attr] = iCur + iSpeed + 'px';
}
}
if(bStop){
clearInterval(obj.timer);
if(fn){
fn();
}
}
}, 30);
}
</script>
</head>
<body>
<input id="btn1" type="button" value="運動"/>
<div id="div1"></div>
</body>
</html>
更多關(guān)于JavaScript運動效果相關(guān)內(nèi)容可查看本站專題:《JavaScript運動效果與技巧匯總》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
利用element-ui實現(xiàn)遠(yuǎn)程搜索兩種實現(xiàn)方式
這篇文章主要介紹了利用element-ui的兩種遠(yuǎn)程搜索實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12
JavaScript實現(xiàn)飛機大戰(zhàn)游戲
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)飛機大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
ES6中的Promise.all()和Promise.race()函數(shù)的實現(xiàn)方法
這篇文章主要介紹了ES6的Promise.all()和Promise.race()函數(shù),結(jié)合實例代碼介紹了ES6 Promise.race和Promise.all方法使用,通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02

