Ich arbeite an einem Tic Tac Toe-Spiel auf Codepen und erstellte mein eigenes Modal. Das erste Modal funktioniert sehr gut und erscheint und verschwindet korrekt. Mein zweites Modal hat eine Klasse, die Deckkraft und Sichtbarkeit so einstellt, dass das Element genau wie das erste unsichtbar ist. Der Unterschied ist, dass wenn ich die Klasse entferne, die das Element verbirgt. Das Element wird nicht angezeigt.kann keine versteckte Klasse zur Anzeige mit jquery
Ich glaube, ich habe vorher gelesen, dass dies mit Jquery zu tun hat, nicht zu wissen, dass das Element versteckt ist. Ich kann mich nicht erinnern, wie ich es beheben könnte und konnte kein anderes Problem finden. Ich möchte wissen, warum das erste Element funktioniert und das zweite nicht? Ich habe einen Teil des relevanten Codes für den Kontext und einen Link zu der ganzen Sache eingefügt.
hasWon(){
let scores = this.scoring();
console.log(scores);
let win = $('.popup.end');
for(let i = 0; i < scores.length; i++){
let win = $('.end');
if(scores[i] === 3 || scores[i] === -3){
if(this.player === 1 && scores[i] === 3
|| this.player === -1 && scores[i] === -3){
win.html("<h4>Player won the Game!</h4>");
} else {
win.html("<h4>Computer won the Game!</h4>");
}
$('.back').removeClass('showEl');
win.classList.remove("hideEl");
}
}
if(this.emptyIndices().length === 0){
win.html("<h4>It's a draw!</h4>");
$('.back').removeClass('showEl');
// THIS SHOULD ACTIVATE SECOND MODAL!
win.classList.remove("hideEl");
}
}
.popup {
font-family: 'Signika', 'sans-serif';
margin: 100px auto 0 auto;
width: 600px;
height: 270px;
background: #d0e6d0;
border: 6px solid #97b097;
box-shadow: 0px 0px 1000px 2000px rgba(228, 241, 228, 0.9);
border-radius: 60px;
position: relative;
z-index: 1;
visibility: visible;
opacity: 1;
transition: all .5s;
}
.popup h4 {
padding-top: 60px;
font-weight: bold;
font-size: 2.5em;
left: 13%;
position: absolute;
}
.hideEl {
opacity: 0;
visibility: hidden;
}
.showEl {
opacity: 1;
visibility: visible;
}
<div class="popup end hideEl">
<h4>Ending Message</h4>
</div>
haben Sie versucht, 'win.removeClass' statt' win.classList .remove 'genau wie in der vorherigen Zeile? https://jsfiddle.net/jbhb1wc7/ –
Warum nicht einfach css style 'hidden' verwenden und einfach' Element.classList.toggle ('hidden') verwenden; ' – hlfrmn