用了json之后就沒反應了囧.怎么回事啊
function startMove(obj, json, fn) {
? ? clearInterval(obj.timer); //清除定時器,避免重復生成多個定時器
? ? obj.timer = setInterval(function() {
? ? ? ? var flag = true; //假設剛開始時所有運動都已完成
? ? ? ? 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.檢測停止
? ? ? ? ? ? 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) { //當所有運動都完成時,清除定時器
? ? ? ? ? ? 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
應該是你調用的時候沒有調用正確吧,,把你調用的那部分代碼也粘出來看看
2016-11-20
這段代碼沒問題啊