风风无
2016-09-12 00:34
function startMove(obj,json,fn){
clearInterval(obj.timer);
obj.timer= setInterval(function(){
var flag=true;
for(var attr in json){
//取当前属性的值
var cur= 0;
if(attr=='opacity'){
cur= Math.round(parseFloat(getStyle(obj,attr)*100)); //能让范围回到0~100
}
else{
cur = parseInt(getStyle(obj,attr));
}
//定义速度
var speed = (json[attr] - cur)/ 8 ;
// 取整速度
speed= speed >0?Math.ceil(speed):Math.floor(speed);
//立flag
if(cur!=json[attr]){
flag=false;
if(attr== 'opacity'){
//firefox浏览器
obj.style.opacity = (cur + speed)/100;
//IE浏览器
obj.style.filter = 'alpha:(opacity:'+(cur+speed)+')';
}
else{
obj.style[attr] = cur + speed +'px';
}
}
if(flag){
clearInterval(obj.timer);
if(fn){
fn();
}
}
}
},30)
}
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}
else{
return getComputedStyle(obj,false)[attr];
}
}
错误位置js代码第二行。这个框架在上一节里都没有问题。
我的可以正常运行。我的是 Dreamweaver CC 2015.02 Release 7884 Build 。你可以尝试一下在 .html 页面的 for 循环中为每个 obj 设置一下 timer 。像下边这样:
for(var i = 0; i < app.length; i++) //var app=document.getElementsByTagName('a'); { app[i].timer = null; ... }
JS动画效果
113924 学习 · 1443 问题
相似问题