第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

鏈?zhǔn)竭\動調(diào)用fn的時候,為什么clearInterval(timer)必須在if(fn){fn();}這段代碼之前。放在后面就不起作用了。


放在if(fn){fn();}代碼之前:

window.onload?=?function(){
????var?oLi?=?document.getElementsByTagName('li');
????for(var?i=0;i<oLi.length;i++){
????????oLi[i].timer?=?null;
????????oLi[i].onmouseover?=?function(){
????????????var?_this?=?this;
????????????startMove(_this,30,'opacity',function(){
????????????????startMove(_this,300,'width',function(){
????????????????????startMove(_this,200,'height');
????????????????});
????????????});
????????}
????????oLi[i].onmouseout?=?function(){
????????????var?_this?=?this;
????????????startMove(_this,100,'height',function(){
????????????????startMove(_this,200,'width',function(){
????????????????????startMove(_this,100,'opacity');
????????????????});
????????????});
????????}
????}
}
function?startMove(obj,iTarget,attr,fn){
????clearInterval(obj.timer);
????obj.timer?=?setInterval(function(){
????????if?(attr?==?'opacity')?{
????????????var?icur?=?parseFloat(getStyle(obj,attr)*100);
????????}else{
????????????var?icur?=?parseInt(getStyle(obj,attr));
????????}
????????var?speed?=?(iTarget-icur)/10;
????????speed?=?speed>0?Math.ceil(speed):Math.floor(speed);
????????if?(icur?==?iTarget)?{
????????????clearInterval(obj.timer);
????????????if?(fn)?{
????????????????fn();
????????????}
????????}else?if?(attr?==?'opacity')?{
????????????obj.style.filter?=?'alpha(opacity:'+(icur+speed)+')';
????????????obj.style.opacity?=?(icur+speed)/100;
????????}else{
????????????obj.style[attr]?=?icur?+?speed?+?'px';
????????}
????},30)
}
function?getStyle(obj,attr){
????if?(obj.currentStyle)?{
????????return?currentStyle[attr];
????}else{
????????return?getComputedStyle(obj,false)[attr];
????}
}

放在if(fn){fn();}代碼之后

window.onload?=?function(){
????var?oLi?=?document.getElementsByTagName('li');
????for(var?i=0;i<oLi.length;i++){
????????oLi[i].timer?=?null;
????????oLi[i].onmouseover?=?function(){
????????????var?_this?=?this;
????????????startMove(_this,30,'opacity',function(){
????????????????startMove(_this,300,'width',function(){
????????????????????startMove(_this,200,'height');
????????????????});
????????????});
????????}
????????oLi[i].onmouseout?=?function(){
????????????var?_this?=?this;
????????????startMove(_this,100,'height',function(){
????????????????startMove(_this,200,'width',function(){
????????????????????startMove(_this,100,'opacity');
????????????????});
????????????});
????????}
????}
}
function?startMove(obj,iTarget,attr,fn){
????clearInterval(obj.timer);
????obj.timer?=?setInterval(function(){
????????if?(attr?==?'opacity')?{
????????????var?icur?=?parseFloat(getStyle(obj,attr)*100);
????????}else{
????????????var?icur?=?parseInt(getStyle(obj,attr));
????????}
????????var?speed?=?(iTarget-icur)/10;
????????speed?=?speed>0?Math.ceil(speed):Math.floor(speed);
????????if?(icur?==?iTarget)?{
????????????if?(fn)?{
????????????????fn();
????????????}
????????????clearInterval(obj.timer);
????????}else?if?(attr?==?'opacity')?{
????????????obj.style.filter?=?'alpha(opacity:'+(icur+speed)+')';
????????????obj.style.opacity?=?(icur+speed)/100;
????????}else{
????????????obj.style[attr]?=?icur?+?speed?+?'px';
????????}
????},30)
}
function?getStyle(obj,attr){
????if?(obj.currentStyle)?{
????????return?currentStyle[attr];
????}else{
????????return?getComputedStyle(obj,false)[attr];
????}
}


正在回答

1 回答

因為startMove()開頭就有一個clearInterval(obj.timer);

fn()放前面先執(zhí)行,就回調(diào)startMove(),然后直接停掉了定時器,然后就沒有然后了。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕粉3122678 提問者

非常感謝!
2018-08-10 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

鏈?zhǔn)竭\動調(diào)用fn的時候,為什么clearInterval(timer)必須在if(fn){fn();}這段代碼之前。放在后面就不起作用了。

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號