2015-07-04 10 views
6

Ich habe folgende CSS-Regel für Tabellenzeile Hintergrund,JQuery removeClass mit CSS Animations

tr.unread { 
    background:rgba(237, 239, 245, 0.70) none repeat scroll 0 0; 
    -webkit-transition: background 1s linear; 
    -moz-transition: background 1s linear; 
    -o-transition: background 1s linear; 
    transition: background 1s linear; 
} 

Ich möchte von tr die .unread Klasse entfernen mit Animation ausblenden (ohne Javascript/Jquery wenn möglich) nicht funktioniert. Aber es entfernt nur die Klasse ohne jede Animation.

Javascript: $('tr.unread').removeClass('unread');

Irgendwelche Ideen?

+0

Sie jquery-ui Sind? –

+0

Nein. Nur jquery verwenden. –

+1

absolut keine Notwendigkeit für JQueryUI für diese, hinzufügen und entfernen Klasse ist alles, was Sie tun sollten mit der js –

Antwort

4

Transition Regeln müssen auf dem tr Element definiert werden:

$('button').click(function() { 
 
    $('tr.unread').removeClass('unread'); 
 
});
tr { 
 
    -webkit-transition: background 1s linear; 
 
    -moz-transition: background 1s linear; 
 
    -o-transition: background 1s linear; 
 
    transition: background 1s linear; 
 
} 
 
tr.unread { 
 
    background: rgba(237, 239, 245, 0.70) none repeat scroll 0 0; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr class="unread"> 
 
     <td> 
 
      <td>Table Cell 1</td> 
 
      <td>Table Cell 2</td> 
 
     </td> 
 
    </tr> 
 
    <tr class="unread"> 
 
     <td> 
 
      <td>Table Cell 1</td> 
 
      <td>Table Cell 2</td> 
 
     </td> 
 
    </tr> 
 
</table> 
 

 
<button>Mark read</button>

+0

Cool. Aber alle anderen Lösungen außer dem Hinzufügen von 'animation' Eigenschaft in' tr' Element. Weil ich viele andere Tabellen auf anderen Seiten habe und ich möchte sie nicht beeinflussen. –

+0

Ich bin mir nicht sicher, was Sie meinen .. – dfsq

+1

Sie sollten eine andere Klasse verwenden. Machen Sie einfach etwas wie ** animated.unread ** statt ** tr.unread ** und setzen Sie die Animation auf ** animated **. –