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

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

jquery 如何添加class 幾秒移除再移除這個class?

jquery 如何添加class 幾秒移除再移除這個class?

Qyouu 2019-05-12 14:42:42
小菜鳥的問題我想手機端設(shè)置點擊屏幕喚醒菜單按鈕,幾秒后這個菜單自動隱藏,我目前想到的是使用setTimeout(),在body綁定click點擊事件,然后在這個click函數(shù)內(nèi)使用.addClass()給元素天機指定class,幾秒后消失就再添加setTimeout()來移除,這么一來會有個問題,就是這個setTimeout()執(zhí)行會積累,也就是click觸發(fā)。幾次,setTimeout()就會執(zhí)行幾次,也就是多次移除class。如何在setTimeout()設(shè)定的時間內(nèi)多次click也只執(zhí)行一次呢?$('body').on('click',function(){$('body').addClass('touchmove');setTimeout(function(){$('body').removeClass('touchmove');},5000);});
查看完整描述

2 回答

?
慕標5832272

TA貢獻1966條經(jīng)驗 獲得超4個贊

為了達到讓click處理函數(shù)沒有結(jié)束前再次觸發(fā)無效,可以使用jQuery的one方法,即只讓click一次有效。在處理函數(shù)結(jié)束時,再給body綁定一個一次有效的處理函數(shù)。
functionclickHandler(){
$('body').addClass('touchmove');
setTimeout(function(){
$('body').removeClass('touchmove');
$('body').one('click',clickHandler);
},5000);
}
$('body').one('click',clickHandler);
                            
查看完整回答
反對 回復(fù) 2019-05-12
?
Helenr

TA貢獻1780條經(jīng)驗 獲得超4個贊

vartimer;$('body').on('click',function(){
clearTimeout(timer);
timer=setTimeout(function(){
$('body').addClass('touchmove');
setTimeout(function(){
$('body').removeClass('touchmove');
},5000);
},200);
});
                            
查看完整回答
反對 回復(fù) 2019-05-12
  • 2 回答
  • 0 關(guān)注
  • 867 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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