Cara menampilkan Alertify hanya sekali pada kondisi tertentu?

Saya ingin menampilkan pop up dengan menggunakan library Alertify.js ketika suatu kondisi tertentu dia akan muncul namun hanya sekali saja. Kasus saya yaitu kondisi saya sudah memenuhi dan alertifynya sudah muncul namun ketika muncul alertnya tidak mau menghilang dia malah muncul terus,itu cara mengatasinya bagaimana ya kak?

untuk code nya seperti ini kak.

$(document).ready(function() {
        var attr_data_date = $('#demo').attr('data-date');

        // console.log(attr_data_date);
        // Set the date we're counting down to
        var countDownDate = new Date(attr_data_date).getTime();
        // console.log(countDownDate);
        // Update the count down every 1 second
        var x = setInterval(function() {

            // Get today's date and time
            var now = new Date().getTime();

            // Find the distance between now and the count down date
            var distance = countDownDate - now;

            // Time calculations for days, hours, minutes and seconds
            var days = Math.floor(distance / (1000 * 60 * 60 * 24));
            var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            var seconds = Math.floor((distance % (1000 * 60)) / 1000);

            // Output the result in an element with id="demo"
            document.getElementById("demo").innerHTML = days + "d " + hours + "h " +
                minutes + "m " + seconds + "s ";
            // If the count down is over, write some text
            if (minutes == 1) {
                alertify
                    .delay(100000)
                    .log("Waktu Kurang Dari 1 Menit");

            } else if (distance < 0) {
                clearInterval(x);
                document.getElementById("demo").innerHTML = "Waktu Habis";
                alertify
                    .delay(10000)
                    .log("Waktu Habis");
            }
        }, 1000);
    });

Jadi ketika waktu nya sudah mencapai 1 menit alert nya muncul kak,namun disini kasusnya ketika satu menit tersebut dia malah muncul terus.Itu bagaimana cara mengatasinya ya kak,agar alertnya muncul satu kali saja? Terimakasih

avatar HendryScootKennedy
@HendryScootKennedy

19 Kontribusi 0 Poin

Diperbarui 2 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

<div>hai <a href="https://sekolahkoding.com/user/HendryScootKennedy">@HendryScootKennedy</a><br><br>Saya coba bantu jawab ya&nbsp;<br><br>kamu bisa gunakan flag agar alertnya tidak muncul lagi<br><br>untuk contoh scriptnya bisa seperti di bawah ini<br><br></div><pre>$(document).ready(<strong>function() {</strong> <strong> var attr_data_date = $('#demo').attr('data-date');</strong>

<strong> </strong><em>// console.log(attr_data_date);</em> <strong> </strong><em>// Set the date we're counting down to</em> <strong> var countDownDate = new Date(attr_data_date).getTime();</strong> <strong> </strong><em>// console.log(countDownDate);

   &lt;/em&gt;&lt;strong&gt; // Flag For pop up 
    var flagPopUpMinute = true;
    var flagPopUpAfterEnd = true;&lt;/strong&gt;&lt;em&gt;

</em><strong> </strong><em>// Update the count down every 1 second</em> <strong> var x = setInterval(function() {</strong>

<strong> </strong><em>// Get today's date and time</em> <strong> var now = new Date().getTime();</strong>

<strong> </strong><em>// Find the distance between now and the count down date</em> <strong> var distance = countDownDate - now;</strong>

<strong> </strong><em>// Time calculations for days, hours, minutes and seconds</em> <strong> var days = Math.floor(distance / (1000 * 60 * 60 * 24));</strong> <strong> var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));</strong> <strong> var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));</strong> <strong> var seconds = Math.floor((distance % (1000 * 60)) / 1000);</strong>

<strong> </strong><em>// Output the result in an element with id="demo"</em> <strong> document.getElementById("demo").innerHTML = days + "d " + hours + "h " +</strong> <strong> minutes + "m " + seconds + "s ";</strong> <strong> </strong><em>// If the count down is over, write some text </em> <strong> if (minutes == 1 &amp;&amp; flagPopUpMinute) {</strong> <strong> alertify</strong> <strong> .delay(100000)</strong> <strong> .log("Waktu Kurang Dari 1 Menit");

            flagPopUpMinute = false; //set being False&lt;/strong&gt;

<strong> } else if (distance &lt; 0 &amp;&amp; flagPopUpAfterEnd) {</strong> <strong> clearInterval(x);</strong> <strong> document.getElementById("demo").innerHTML = "Waktu Habis";</strong> <strong> alertify</strong> <strong> .delay(10000)</strong> <strong> .log("Waktu Habis");

            flagPopUpAfterEnd = false; //set being False&lt;/strong&gt;

<strong> }</strong> <strong> }, 1000);</strong> <strong> }</strong>);</pre><div><br>Semoga mambantu ya :)</div>

avatar tantootnat
@tantootnat

14 Kontribusi 11 Poin

Dipost 2 tahun yang lalu

Tanggapan

Terimakasih kak,100% works.

Login untuk ikut Jawaban