Рейтинг:
9
Karthik_Mahalingam
пробовать
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<table id="tbl" border="1">
<tr>
<td id="x">2%</td>
<td>30%</td>
<td>322%</td>
</tr>
<tr class="invalid">
<td>10%</td>
<td>322%</td>
<td>32%</td>
</tr>
</table>
<script>
var rows = document.querySelectorAll('#tbl tr');
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
var cells = row.getElementsByTagName('td');
for (var j = 0; j < cells.length; j++) {
var cell = cells[j];
var value = parseFloat(cell.innerText.trim())
if(value >20)
cell.style.backgroundColor= 'red'
}
}
</script>
</body>
</html>
SamadhanGaikwad
Спасибо Karthik, но не могли бы вы обновить ответ на blink/flash cells вместо просто статического bgcolor, так как это моя конечная цель.
Karthik_Mahalingam
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<style>
.blinkOn {
background-color:red;
}
</style>
</head>
<body>
<table id="tbl" border="1">
<tr>
<td id="x">2%</td>
<td>30%</td>
<td>322%</td>
</tr>
<tr class="invalid">
<td>10%</td>
<td>322%</td>
<td>32%</td>
</tr>
</table>
<script>
var rows = document.querySelectorAll('#tbl tr');
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
var cells = row.getElementsByTagName('td');
for (var j = 0; j < cells.length; j++) {
var cell = cells[j];
var value = parseFloat(cell.innerText.trim())
if (value > 20) {
cell.className = 'blink'
}
}
setInterval(function () {
if ($('.blink').length > 0) {
if ($('.blink').hasClass('blinkOn'))
setTimeout(function() { $('.blink').removeClass('blinkOn') , 100})
else
setTimeout(function () { $('.blink').addClass('blinkOn'), 100 })
}
}, 1000);
}
</script>
</body>
</html>
SamadhanGaikwad
Еще раз спасибо, только что добавил код на мою главную страницу, но он там не работает. Очень жаль, что теперь вы знаете, что я извлекаю данные и вычисляю их из базы данных Mysql. Пожалуйста, найдите обновленный код выше. Раствор также не работал при снятии условно нанесенного цвета. Так что я думаю,это должно быть связано со значениями PHP echo. Кроме того, я просто хотел применить код к последней/одной из строк, а не ко всем строкам в таблице.
SamadhanGaikwad
После долгого копания в коде, а также с помощью метода change and see он работает хорошо. Но так как мне пришлось удалить `<?php echo "style='background-color:{$color3};' "; ?>` из последней строки, то если условие (т. е. значение > 20%) не выполнено , то для последней строки должен быть зеленый цвет(значение < 0%), желтый цвет(значение от 1% до 19%). А во-вторых, я попробовал изменить интервал времени, чтобы он соответствовал тому, что работает в скрипке. Пожалуйста, не могли бы вы помочь мне решить эти 2 вопроса?
Karthik_Mahalingam
извините, я не знаю php
SamadhanGaikwad
Как и выше, код также работает нормально, хотя есть значение php. Если бы вы могли добавить условие if или else, чтобы увидеть, если какое-либо значение TD больше 20% в строке, примените выше кодовую логику else apply bgcolor red green or yellow, это было бы здорово.