为了账号安全,请及时绑定邮箱和手机立即绑定

同时运动宽和高时,高改变的值不对,求解代码中的错误

function startMove(obj,json,fn){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var all = true;//假设全部执行成功
for(var attr in json){
//判断是否为透明度
if(attr == "opacity"){
var icur = Math.round(parseFloat(getStyle(obj,attr)) * 100);
}else{
var icur = parseInt(getStyle(obj,attr));
}
var speed = (json[attr] - icur)/10;
speed = speed>0?Math.ceil(speed):Math.floor(speed);
if(icur != json[attr]){
all = false;
}
//判断是否为透明度
if(attr == "opacity"){
obj.style[attr] = (icur + speed)/100;;
}else{
obj.style[attr] = icur + speed + "px";
}   
if(all){
clearInterval(obj.timer);
if(fn){
fn();
}
}
}
},30);  
}
//解决IE兼容
function getStyle(obj,attr) {
var style = null;  
if(window.getComputedStyle){
style = window.getComputedStyle(obj, null)[attr];
}else{
style = obj.currentStyle[attr];
}
return style;
}


正在回答

1 回答

if(all){

clearInterval(obj.timer);

放在属性变化的后面

0 回复 有任何疑惑可以回复我~
#1

一二得三 提问者

谢谢回答,我在代码中有放这个判断啊,是放错位置了吗?
2017-01-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

同时运动宽和高时,高改变的值不对,求解代码中的错误

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信