2016-06-28 3 views
4

это моя строка таблицы мое требование первое время отображения цвет фона строки в желтый цвет после 4 секунд цвет стал исчезать я использую следующий кодJavascript задержка не работает

$('#lock').prepend('<tr><td>hello</td><td>cool</td><td>dad</td></tr>');

Я использую следующий код

$("#lock tr").css('background-color','yellow').delay(4000).css('background-color','fade'); 

задержки проблема не работает

+0

Вы добавили 'jquery.min.js'? – Poonam

+0

да poonam я использовал jquary. min.js –

+0

Попробуйте добавить этот скрипт '' –

ответ

5

Пусть CSS делает переход цвета фона (быстрее затем JS):

#lock { 
    background-color: yellow; 
    transition: background-color 0.3s; 
}  
#lock.red { 
    background-color: red; 
} 

Теперь после загрузки DOM, добавьте следующий JavaScript перед закрытием <body> тега:

// JS solution 
setTimeout(function() { 
    var element = document.getElementById('lock'); 
    element.classList.add('red'); 
}, 4000); 

// jQuery solution 
$('#lock').delay(4000).addClass('red'); // no good, check the edit. 

Редактировать

Если вы хотите узнать, почему ваш код не работает, отметьте this ответ. Функция delay работает только на элементы в очереди (например, анимации). Для чего-то еще, использовать обычный старый таймер, как указано в моем первом решении JS:

var $table = $("#lock"); 
$table.css("background-color", "yellow"); 

setTimeout(function() { 
    $table.css("background-color", "red"); 
}, 4000); 

Если вы хотите переход к выцветанию, вы все равно придется использовать некоторые CSS.

Удачи.