亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么進入鏈式運動后沒有再執行第二次調用的函數?求指點一下

為什么進入鏈式運動后沒有再執行第二次調用的函數?求指點一下

元芳怎么了 2023-04-23 16:17:36
編寫了一個函數,用來做鏈式運動時改變屬性值,但是進入鏈式運動后沒有再執行第二次調用的函數,請問為什么,附上源碼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];}
查看完整描述

1 回答

?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

<!DOCTYPE HTML><html> <head>    <meta charset="UTF-8">    <title>旋轉圖標</title><style>#box>img{top:30px;position:absolute;width:100px;height:100px;}</style>    <script>        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) { //在最上面清除即可。。。clearInterval(obj.timer);            var timer = null;            var alpha = 100;            obj.timer = setInterval(function() {                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];        }    </script></head> <body>    <div id="box">        <img src="../img/7.jpg" />    </div></body> </html>


查看完整回答
反對 回復 2023-04-27
  • 1 回答
  • 0 關注
  • 108 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號