2015-07-04 3 views
6

я следующее правило CSS для строки таблицы фона,Jquery removeClass с CSS анимация не работает

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; 
} 

Я хочу, чтобы удалить .unread класс от tr с выведением анимации (без Javascript/Jquery, если это возможно). Но он просто удаляет класс без анимации.

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

Любые идеи?

+0

Вы используете JQuery-UI? –

+0

№ Использование только jquery. –

+1

абсолютно не нужно для JQueryUI для этого, добавить и удалить класс - все, что вы должны делать с js –

ответ

4

правила перехода должны быть определены на tr элемента:

$('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. Но любые другие решения, кроме добавления свойства 'animation' в элементе' tr'. Потому что у меня много других таблиц на других страницах, и я не хочу влиять на них. –

+0

Я не уверен, что вы имеете в виду .. – dfsq

+1

Вы должны использовать другой класс. Просто сделайте что-то вроде ** animated.unread ** вместо ** tr.unread ** и поместите анимацию в ** animated **. –

Смежные вопросы