/ / Jak korzystać z funkcji SetInterval i "if" do tworzenia wyskakującego okna div? - javascript, jquery, if-statement, losowy, setinterval

W jaki sposób można użyć funkcji SetInterval i znaku "if", aby utworzyć wyskakujące okno div? - javascript, jquery, if-statement, losowy, setinterval

Mam ten skrypt dla Whack'a, ale janie może sprawiać, że mój div jest pop-up, gdy chcę je za pomocą generatora liczb losowych. To jest mój kod: (tak przy okazji, to moja pierwsza gra, jaką kiedykolwiek stworzyłem, więc jest to głupie pytanie))

        //minigame
setInterval(function() {
var randomnumber = 1 + Math.floor(Math.random() * 10);
if (randomnumber = "1") {
$("#mole1").show();
};
if (randomnumber = "2") {
$("#mole1").show();
};
if (randomnumber = "3") {
$("#mole1").show().delay(300).hide();
};
if (randomnumber = "4") {
$("#mole1").show().delay(300).hide();
};
if (randomnumber = "5") {
$("#mole1").show().delay(300).hide();
};
if (randomnumber = "6") {
$("#mole1").show().delay(300).hide();
};
}, 200);

i mój html jest odpowiedni:

            <div id="minigameblockholder">
<div class="moles" id="mole1"> </div>
<div class="moles" id="mole2"> </div>
<div class="moles" id="mole3"> </div>
<div class="moles" id="mole4"> </div>
<div class="moles" id="mole5"> </div>
<div class="moles" id="mole6"> </div>

<div id="scorebord"> </div>

</div>

Nie zacząłem pracować nad moją tablicą wyników, więc nie poprawiaj tego. dzięki w advnce, Jaspis

Odpowiedzi:

4 dla odpowiedzi № 1

Edytować

Nie wiem, czy edytowałeś swoją odpowiedź, ale widzę pewne rzeczy, które uniemożliwiałyby jej działanie.

Twoje instrukcje if nie będą działać. Używasz operatora przypisania ("="), tak przypisujesz zmienne.

var x = 2; (przypisz 2 do zmiennej x)

Musisz użyć operatora "==" (jest równy) w porównaniach.

if(randomnumber == 2) (jeśli liczba losowa jest równa 2)

Odpowiedź liniowa

Kontynuując z mojego komentarza, nie widzę z twojego codefragment, dlaczego to nie działa. Możesz jednak spróbować czegoś takiego;

setInterval(function(){
var randomnumber = 1 + Math.floor(Math.random() * 10);

$("#mole1").html(randomnumber);

var mole = $("#mole" + randomnumber);

if(mole != undefined){
$(".moles").hide();
mole.show();
}
}, 2000)

Tworzy losową liczbę, dołącza ją doid "mole" (np. mole + 2) i sprawdza, czy jest zdefiniowany (istnieje). Jeśli tak, ukrywa wszystkie pozostałe mole i pokazuje wybrany mole (w naszym przykładzie 2). Spowoduje to również pozbycie się wszystkich instrukcji if i pozwoli na zwiększenie lub zmniejszenie liczby moli bez konieczności tworzenia dodatkowych kontroli dla nich.

Możesz zobaczyć, że działa tutaj https://jsfiddle.net/ezs00xw0/

Uwaga: zignoruj ​​dodatkowy html i css, to było do celów debugowania.