Ich benötige Hilfe beim Ändern des folgenden Codes. Ich möchte, dass nur dann eine Warnung angezeigt wird, wenn zwei Bedingungen erfüllt sind.Meldung anzeigen, wenn die Bedingungen erfüllt sind
- alle Zellen in der Tabelle haben eine Hintergrundfarbe
- Anzahl der roten Blutkörperchen gleiche Anzahl von Yellow Zellen angewendet worden - Abgeschlossene
Der folgende Code erfüllt die zweite Anforderung und ich brauche Hilfe bei der 1. Anforderung
jQuery(function() {
var brush = "white_block";
jQuery('input.block').on('click', function() {
brush = jQuery(this).data('brush');
});
jQuery('td').on('click',function() {
jQuery(this).removeClass('white_block yellow_block red_block').addClass(brush);
var reds = jQuery('.red_block').length,
yellows = jQuery('.yellow_block').length;
if (reds == yellows) {
setTimeout(function() {alert("Finished!")}, 100);
}
});
});
.block {
border: thin solid #000000;
width: 59px;
height: 57px;
}
.white_block {
background-color: #FFFFFF;
}
.red_block {
background-color: #FF0000;
}
.yellow_block {
background-color: #FFFF00;
}
table {
margin:1em 0 0;
}
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" class="block white_block" data-brush="white_block">
<input type="button" class="block yellow_block" data-brush="yellow_block">
<input type="button" class="block red_block" data-brush="red_block">
<table>
<tr>
<td class="block yellow_block"></td>
<td class="block yellow_block"></td>
<td class="block yellow_block"></td>
<td class="block red_block"></td>
<td class="block red_block"></td>
<td class="block red_block"></td>
</tr>
<tr>
<td class="block yellow_block"></td>
<td class="block yellow_block"></td>
<td class="block yellow_block"></td>
<td class="block red_block"></td>
<td class="block red_block"></td>
<td class="block red_block"></td>
</tr>
<tr>
<td class="block yellow_block"></td>
<td class="block yellow_block"></td>
<td class="block yellow_block"></td>
<td class="block red_block"></td>
<td class="block red_block"></td>
<td class="block red_block"></td>
</tr>
<tr>
<td class="block yellow_block"></td>
<td class="block yellow_block"></td>
<td class="block yellow_block"></td>
<td class="block red_block"></td>
<td class="block red_block"></td>
<td class="block red_block"></td>
</tr>
<tr>
<td class="block yellow_block"></td>
<td class="block yellow_block"></td>
<td class="block yellow_block"></td>
<td class="block red_block"></td>
<td class="block red_block"></td>
<td class="block red_block"></td>
</tr>
</table>
</html>
Ist Ihre Frage: Wie Ereignis auslösen, wenn alle Zellen der Tabelle haben eine Farbklasse (.red_block oder .yellow_block)? –
Warum Timeout? Warum Jquery anstelle von $? –
@singebatteur normalerweise 'jQuery' anstelle von' $ 'ist am besten zu vermeiden, dass widersprüchliche Bibliothek Probleme, die auch die' $ 'Variable verwenden können. – Aziz