// å°è£ è·å计ç®åå ç´ æ ·å¼å½æ°ï¼è¿åå°æ° function getStyle(obj, name) { if (obj.currentStyle) { return obj.currentStyle[name]; } else { return getComputedStyle(obj, '') [name]; } } // ä»»æå¼è¿å¨æ¡æ¶ function startMove(obj, name, iTarget ) { clearInterval(obj.timer); obj.timer = setInterval(move, 30); function move() { var current = 0; if (name === 'opacity') { // ç¨ parseFloat ä¿çå°æ°å¹¶å»æåé¢ px ï¼ä»å·¦è³å³æåæ°åï¼éå°ä¸æ¯æ°åè·³åº // Math.round() åèäºå ¥åæ´ current = Math.round(parseFloat(getStyle(obj, name))*100); } else { // ç¨ parseInt 廿åé¢ px ï¼ä»å·¦è³å³æåæ°åï¼éå°ä¸æ¯æ°åè·³åº current = parseInt(getStyle(obj, name)); } var speed = (iTarget - current)/3; if (speed < 0) { speed = Math.floor(speed); } else { speed = Math.ceil(speed); } if (iTarget === current) { clearInterval(obj.timer); } else { if (name === 'opacity') { obj.style[name] = (current + speed)/100; obj.style.filter = "alpha("+[name]+ "=" + (current + speed) + ")"; } else { obj.style[name] = current + speed + 'px'; } } // console.log('iTarget',iTarget,'current',current,'getStyle',getStyle(obj, name),speed) } }