編寫了一個函數,用來做鏈式運動時改變屬性值,但是進入鏈式運動后沒有再執行第二次調用的函數,請問為什么,附上源碼html:<html><head><meta charset="UTF-8"><title>旋轉圖標</title><link rel="stylesheet" type="text/css" href="../css/RotateSport.css" /><script src="../js/RotateSport.js"></script></head><body><div id="box"><img src="../img/7.jpg" /></div></body></html>js:window.onload=function(){var oDiv=document.getElementById("box");var oImg=oDiv.getElementsByTagName("img")[0];oDiv.onmouseover=function(){startMove(oImg,{top:-170,opacity:30},function(){oImg.style.top=30+"px";startMove(oImg,{opacity:100,top:25});});}}function startMove(obj,json,fnEnd){var timer=null;var alpha=100;obj.timer=setInterval(function(){clearInterval(obj.timer);for(attr in json) {var key = true;//獲取當前值var icur;if ("opacity" == attr) {icur = Math.round(parseFloat(getstyle(obj, attr)) * 100);}else {icur = parseInt(getstyle(obj, attr));}//改變速度var speed = (json[attr] - icur) /10;speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);//檢測當前值if (json[attr] !== icur) {key = false;}if ("opacity" == attr) {obj.style.filter = "alpha(opacity:" + (speed + icur) + ")";obj.style.opacity = (speed + icur) / 100;}else {obj.style[attr] =(speed + icur)+ "px";}if(key){clearInterval(obj.timer);if(typeof fnEnd=="function"){fnEnd();}}}},30);}function getstyle(obj,attr){return getComputedStyle?getComputedStyle(obj,false)[attr]:obj.currentStyle[attr];}
為什么進入鏈式運動后沒有再執行第二次調用的函數?求指點一下
元芳怎么了
2023-04-23 16:17:36