Rumah  >  Soal Jawab  >  teks badan

javascript - Gunakan js untuk menulis pop timbul berdasarkan masa tetap, timbul tiga kali

Gunakan js untuk menulis tafsiran, contohnya: untuk lapisan, kali pertama ia muncul selepas 10 saat, selepas ia ditutup, ia muncul semula selepas 20 saat, dan selepas ia ditutup, ia muncul semula selepas 40 saat detik. Kemudian ia tidak muncul.

var firstShow = 10000;
var secondShow = 20000;
var threeShow = 400000;

setTimeout(openMpM, firstShow);
function openMpM() {
    $("#swtCenter2").fadeIn(1000);
}

var clearAfter = setTimeout(openMpM, secondShow);
var clearAfter1 = setTimeout(openMpM, threeShow);

function closeM() {
    $("#swtCenter2").fadeOut(1000);
    setTimeout(openMpM, 50000);
}

Saya tidak tahu bagaimana saya boleh membuat dia berhenti bermain selepas tiga kali?

迷茫迷茫2686 hari yang lalu791

membalas semua(4)saya akan balas

  • 迷茫

    迷茫2017-06-12 09:34:02

    Selepas pelaksanaan pop timbul terakhir, cuma kosongkan pemasa...

    balas
    0
  • 代言

    代言2017-06-12 09:34:02

            function first(){
                alert('第一次');
                setTimeout(second,20000);
            }
            function second(){
                alert('第二次');
                setTimeout(third,40000);
            }
            function third(){
                alert('第三次')
            }
            setTimeout(first,10000);
    

    Saya tidak tahu sama ada ini mungkin

            var firstShow=1000;
            var secondShow=5000;
            var threeShow=10000;
            var n=0;
            setTimeout(openMpM,1000);
            function openMpM() {
                $("#swtCenter2").fadeIn(1000);
                $("#swtCenter2").fadeOut(1000);
                n++;
                switch (n){
                    case 1:
                    setTimeout(openMpM,secondShow);
                        break;
                    case 2:
                    setTimeout(openMpM,threeShow);
                        break;    
                }
            }

    Tunjukkan syarat tersembunyi, tambahkan sendiri

    balas
    0
  • 迷茫

    迷茫2017-06-12 09:34:02

    <p id="box"></p>
        <button id="btn">hide</button>
        <script>
            var times = [2000, 4000, 6000];
            function State(times) {
                var self = this;
                this.times = times
                this.oBox = document.getElementById('box');
                this.btn = document.getElementById('btn');
                this.i = 0;
    
                this.btn.onclick = function() {
                    self.change()
                }
            }
            State.prototype.show = function() {
                var self = this;
                setTimeout(function() {
                    self.oBox.style.display = "block";
                }, this.times[this.i++])
            }
            State.prototype.change = function(time) {
                if(this.i == this.times.length) {
                    alert('没有数据了');
                    return;
                }
                this.oBox.style.display = 'none';
                this.time = time
                this.show();
            }
            var s = new State(times);
            s.show();
        </script>

    Sila rujuk ini, apabila menutup, anda perlu klik untuk menutup secara manual

    balas
    0
  • PHP中文网

    PHP中文网2017-06-12 09:34:02

    Saya hanya melaksanakannya, saya tidak tahu sama ada ia memenuhi keperluan anda

    var timer,num=4;
    $('关闭').on('click',function(){
      $("#swtCenter2").fadeOut();
      clearInterval(timer);
      alertTime();
    });
    
    function alertTime(){
      num--;
      if(num<=0){
       clearInterval(timer);
       return false;
      }
      timer=setInterval(function(){
        $("#swtCenter2").fadeIn();
      },10000);
    }
    alertTime();

    Saya tersilap masa, saya ubah sikit-sikit, sepatutnya macam ni

    var timer,num=-1;
    $('关闭').on('click',function(){
      $("#swtCenter2").fadeOut(0);
      clearInterval(timer);
      alertTime();
    });
    
    function alertTime(){
      num++;
      var idx=num;
      idx=!idx?0.5:idx;
      if(num>2){
       clearInterval(timer);
       return false;
      }
      timer=setInterval(function(){
        $("#swtCenter2").fadeIn(0);
      },10000*2*idx);
    }
    alertTime();

    balas
    0
  • Batalbalas