window.onload?=?function?()?{
????var?donghua?=?document.getElementById('donghua');
????donghua.onmouseover?=?function?()?{
??????startMove(donghua,{width:?'400'},function?()?{
????????startMove(donghua,{height:'20'})
??????})
????}
??}
??function?getStyle(obj,?attr)?{
????if?(obj.currentStyle)?{
??????return?obj.currentStyle[attr];
????}
????else?{
??????return?getComputedStyle(obj,?false)[attr];
????}
??}
??function?startMove(obj,?json,?fn)?{
????var?flag?=?true;//假設(shè)標桿
????clearInterval(obj.timer);
????obj.timer?=?setInterval(function?()?{
??????for?(var?attr?in?json)?{
//????1.取當前的值
????????var?iCur?=?0;
????????if?(attr?==?'opacity')?{
??????????iCur?=?Math.round(parseFloat(getStyle(obj,?attr))?*?100);
????????}?else?{
??????????iCur?=?parseInt(getStyle(obj,?attr));
????????}
//????2.算速度
????????var?iSpeed?=?(json[attr]?-?iCur)?/?8;
????????iSpeed?=?iSpeed?>?0???Math.ceil(iSpeed)?:?Math.floor(iSpeed);
//????3.檢測停止
????????if?(iCur?!=?json[attr])?{
??????????flag?=?false;
????????}
????????if?(attr?==?'opacity')?{
??????????obj.style.filter?=?'alpha(opacity:'?+?(iCur?+?iSpeed)?+?')';
??????????obj.style.opacity?=?(iCur?+?iSpeed)?/?100;
????????}
????????else?{
??????????obj.style[attr]?=?iCur?+?iSpeed?+?"px";
????????}
??????}
??????if?(flag)?{
????????clearInterval(obj.timer);
????????if?(fn)
????????{
??????????fn();
????????}
??????}
????},?30)
??}
不知道為什么沒有鏈式運動,只運動了第一部分,要鼠標移動第二下才顯示
qq__3360
2016-07-27 07:44:08