封装改变样式的函数

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>封装改变样式的函数</title>
<style>
#div1{width:200px;height:100px;background:#f0f;filter:alpha(opacity:0.3);opacity:0.3;}
</style>
</head>
<body>
<button id="btn1" οnclick="startMove(document.getElementById('div1'),'width','700')">改变宽度</button>
<button id="btn2" οnclick="startMove(document.getElementById('div1'),'opacity','100')" >改变opacity</button>
<div id="div1"></div>
<script>
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj,false)[attr];
}
}

function startMove(obj,attr,iTarget){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var iCur = 0;
if(attr=="opacity"){
// parseInt() 函数可解析一个字符串,并返回一个整数。
// parseFloat() 函数可解析一个字符串,并返回一个浮点数。
iCur=parseInt(parseFloat(getStyle(obj,attr))*100);
}else{
iCur=parseInt(getStyle(obj,attr));
}
var iSpeed = (iTarget-iCur)/8;
iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
if(iCur==iTarget){
clearInterval(obj.timer);
}else{
if(attr=="opacity"){
obj.style.filter="alpha(opacity:"+(iCur+iSpeed)+")";
obj.style.opacity=(iCur+iSpeed)/100;
}else{
obj.style[attr]=iCur+iSpeed+'px';
}
}
},30)
}
</script>
</body>
</html>

转载于:https://www.cnblogs.com/studyh5/p/9618920.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值