#jquery
#jquery
Вопрос:
У меня есть таблица, в которой, как только я добавляю строку, цвет ее фона меняется, чтобы показать изменения (подсветка будет хорошей). Вот что я делаю
$("#tableDg tbody tr:first").css("background-color", "red")
Итак, для того, чтобы задержка сработала, я сделал
$("#tableDg tbody tr:first").css("background-color", "red").delay(2000).css("background-color", "aqua");
но вместо того, чтобы откладывать, он просто окрашивает цвет bkg в aqua, есть комментарии, что я могу здесь сделать? Спасибо
Ответ №1:
$("#tableDg tbody tr:first").css("background-color", "red");
setTimeout(function() {
$("#tableDg tbody tr:first").css("background-color", "aqua");
}, 2000);
Чтобы добавить эффект выделения:
$("#tableDg tbody tr:first").css("background-color", "red");
setTimeout(function() {
$("#tableDg tbody tr:first").css("background-color", "aqua").effect("highlight", {}, 3000);
}, 2000);
Или это:
$("#tableDg tbody tr:first").css("background-color", "red");
setTimeout(function() {
$("#tableDg tbody tr:first").css("background-color", "aqua");
$('#tableDg tbody tr:first').effect("highlight", {}, 3000);
}, 2000);
Комментарии:
1. Что вы подразумеваете под «выделить»? Как изменить цвет текста?
.css('color','yellow');
2. Я думаю, что выделение — это эффект в jquery, что-то вроде
$(this).effect("highlight", {}, 3000);
3. Попробуйте соединить это вместе, я отредактировал свой ответ с примером
4. это работает таким же образом, без изменений. спасибо за ваш ответ 🙂
Ответ №2:
Возможно, это поможет: я добавил атрибут data в строку, чтобы выделить тот, который я хочу, поэтому я назвал его data-id.
- Получить исходный цвет фона
- Анимировать до цвета выделения
- подождите 500 миллисекунд
- Анимировать до исходного цвета (исчезать)
-
Удалите стиль, чтобы таблица стилей могла выполнять свою работу.
var highlight_color = "#fbec88"; var original_color = $('#myTable tbody tr[data-id="' id '"]').css("background-color"); $('#myTable tbody tr[data-id="' id '"]') .animate({ 'background-color': highlight_color }, 'slow', 'swing') .delay(500) .animate({ 'background-color': original_color }, 'slow', 'swing', function () { $('#myTable tbody tr[data-id="' id '"]').removeAttr("style"); });
Ответ №3:
Если вам нужна одна задержка, вы должны использовать setTimeout(function(){//code}, timeout);