用了json之后就沒反應(yīng)了囧.怎么回事啊
function startMove(obj, json, fn) {
? ? clearInterval(obj.timer); //清除定時(shí)器,避免重復(fù)生成多個(gè)定時(shí)器
? ? obj.timer = setInterval(function() {
? ? ? ? var flag = true; //假設(shè)剛開始時(shí)所有運(yùn)動(dòng)都已完成
? ? ? ? for (var attr in json) { //遍歷json
? ? ? ? ? ? var icur = null;
? ? ? ? ? ? //1.判斷類型
? ? ? ? ? ? if (attr == 'opacity') {
? ? ? ? ? ? ? ? icur = Math.round(parseFloat(getStyle(obj, attr)) * 100);
? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? icur = parseInt(getStyle(obj, attr));
? ? ? ? ? ? }
? ? ? ? ? ? //2.算速度
? ? ? ? ? ? var speed = (json[attr] - icur) / 10;
? ? ? ? ? ? speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
? ? ? ? ? ? //3.檢測(cè)停止
? ? ? ? ? ? if (icur != json[attr]) {
? ? ? ? ? ? ? ? flag = false;
? ? ? ? ? ? }
? ? ? ? ? ? if (attr == 'opacity') {
? ? ? ? ? ? ? ? obj.style.filter = 'alpha(opacity:' + (icur + speed) + ')';
? ? ? ? ? ? ? ? obj.style.opacity = (icur + speed) / 100;
? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? obj.style[attr] = icur + speed + 'px';
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? if (flag) { //當(dāng)所有運(yùn)動(dòng)都完成時(shí),清除定時(shí)器
? ? ? ? ? ? clearInterval(obj.timer);
? ? ? ? ? ? if (fn) {
? ? ? ? ? ? ? ? fn();
? ? ? ? ? ? }
? ? ? ? }
? ? }, 30);
}
function getStyle(obj, attr) {
? ? if (obj.currentStyle) {
? ? ? ? return obj.currentStyle[attr];
? ? } else {
? ? ? ? return getComputedStyle(obj, false)[attr];
? ? }
}
2017-01-18
應(yīng)該是你調(diào)用的時(shí)候沒有調(diào)用正確吧,,把你調(diào)用的那部分代碼也粘出來看看
2016-11-20
這段代碼沒問題啊