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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用jQuery動(dòng)畫(huà)addClass / removeClass

使用jQuery動(dòng)畫(huà)addClass / removeClass

我正在使用jQuery和jQuery-ui,并希望動(dòng)畫(huà)各種對(duì)象的各種屬性。為了解釋這里的問(wèn)題,我把它簡(jiǎn)化為一個(gè)div,當(dāng)用戶將鼠標(biāo)懸停在它上面時(shí),它會(huì)從藍(lán)色變?yōu)榧t色。我能夠在使用時(shí)獲得我想要的行為animate(),但是當(dāng)這樣做時(shí),我動(dòng)畫(huà)的樣式必須在動(dòng)畫(huà)代碼中,因此與我的樣式表分開(kāi)。(見(jiàn)例1)另一種方法是使用addClass(),removeClass()但我無(wú)法重新創(chuàng)建我可以獲得的確切行為animate()。(見(jiàn)例2)例1我們來(lái)看看我的代碼animate():$('#someDiv')   .mouseover(function(){     $(this).stop().animate( {backgroundColor:'blue'}, {duration:500});   })   .mouseout(function(){     $(this).stop().animate( {backgroundColor:'red'}, {duration:500});   });它顯示我正在尋找的所有行為:紅色和藍(lán)色之間平滑動(dòng)畫(huà)。當(dāng)用戶快速將鼠標(biāo)移入和移出div時(shí),沒(méi)有動(dòng)畫(huà)“過(guò)度”。如果用戶在動(dòng)畫(huà)仍在播放時(shí)將鼠標(biāo)移出/移入,則在當(dāng)前“中途”狀態(tài)和新“目標(biāo)”狀態(tài)之間正確緩解。但是由于樣式更改是定義的,animate()我必須更改那里的樣式值,并且不能只指向我的樣式表。定義樣式的“碎片”真的讓我困擾。例2這是我目前使用的最佳嘗試addClass()和removeClass(請(qǐng)注意,要使動(dòng)畫(huà)工作,您需要jQuery-ui)://assume classes 'red' and 'blue' are defined$('#someDiv')   .addClass('blue')   .mouseover(function(){     $(this).stop(true,false).removeAttr('style').addClass('red', {duration:500});   })   .mouseout(function(){     $(this).stop(true,false).removeAttr('style').removeClass('red', {duration:500});   });這顯示了我原始要求的屬性1.和2.但是3不起作用。我明白這個(gè)的原因:當(dāng)動(dòng)畫(huà)addClass()和removeClass()jQuery為元素添加臨時(shí)樣式,然后遞增適當(dāng)?shù)闹?,直到它們達(dá)到提供的類的值,然后才實(shí)際添加/刪除類。因此,我必須刪除style屬性,否則如果動(dòng)畫(huà)中途停止,則樣式屬性將保留并永久覆蓋任何類值,因?yàn)闃?biāo)記中的樣式屬性比類樣式具有更高的重要性。但是,當(dāng)動(dòng)畫(huà)完成一半時(shí),它還沒(méi)有添加新類,因此使用此解決方案,當(dāng)用戶在動(dòng)畫(huà)完成之前移動(dòng)鼠標(biāo)時(shí),顏色會(huì)跳轉(zhuǎn)到上一個(gè)顏色。我理想的是能夠做到這樣的事情:$('#someDiv')   .mouseover(function(){     $(this).stop().animate( getClassContent('blue'), {duration:500});   })   .mouseout(function(){     $(this).stop().animate( getClassContent('red'), {duration:500});   });哪里getClassContent只返回提供的類的內(nèi)容。關(guān)鍵在于,這樣我就不必將樣式定義保留在所有位置,而是可以將它們保存在樣式表中的類中。
查看完整描述

3 回答

?
手掌心

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊

我正在研究這個(gè)問(wèn)題,但希望進(jìn)出的轉(zhuǎn)換率不同。

這就是我最終做的事情:

//css.addedClass {
    background: #5eb4fc;}// jsfunction setParentTransition(id, prop, delay, style, callback) {
    $(id).css({'-webkit-transition' : prop + ' ' + delay + ' ' + style});
    $(id).css({'-moz-transition' : prop + ' ' + delay + ' ' + style});
    $(id).css({'-o-transition' : prop + ' ' + delay + ' ' + style});
    $(id).css({'transition' : prop + ' ' + delay + ' ' + style});
    callback();}setParentTransition(id, 'background', '0s', 'ease', function() {
    $('#elementID').addClass('addedClass');});setTimeout(function() {
    setParentTransition(id, 'background', '2s', 'ease', function() {
        $('#elementID').removeClass('addedClass');
    });});

這會(huì)立即將背景顏色變?yōu)椋?eb4fc,然后在2秒內(nèi)慢慢變回正常狀態(tài)。

這是一個(gè)小提琴


查看完整回答
反對(duì) 回復(fù) 2019-09-19
  • 3 回答
  • 0 關(guān)注
  • 1021 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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