您的位置:首页 > 其它

多物体任意值运动框架(雏型)

2013-10-17 10:36 447 查看
//获取对象样式属性
function getStyle(obj, attr)
{
if(obj.currentStyle)
{
return obj.currentStyle[attr];
}
else
{
return getComputedStyle(obj, false)[attr];
}
}

//多物体任何值运动框架
function elemsMove(obj, attr, iTarget, fn)
{
if(obj.timer)
{
clearInterval(obj.timer);
}
var repeat = function()
{
//用getStyle函数获取通用样式值
var iStyle = 0;

//为支持透明度做判断处理
if(attr == 'opacity')
{
//为ispeed处理数为整数需*100,同时为避免使用小数需再取整
iStyle = parseInt(parseFloat(getStyle(obj, attr)) * 100);
}
else
{
iStyle = parseInt(getStyle(obj, attr));
}

var ispeed = (parseInt(iTarget) - iStyle) / 8;
ispeed = ispeed > 0 ? Math.ceil(ispeed) : Math.floor(ispeed);

if(iStyle == iTarget)
{
clearInterval(obj.timer);
if(fn)
{
fn();
}
}
else
{
if(attr == 'opacity')
{
obj.style.filter = 'alpha(opacity:' + (iStyle + ispeed) + ')';
obj.style.opacity = (iStyle + ispeed) / 100;
}
else
{
obj.style[attr] = iStyle + ispeed + 'px';
}
}
};
obj.timer = setInterval(repeat, 30);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: