javascript - Gunakan js untuk menulis pop timbul berdasarkan masa tetap, timbul tiga kali
迷茫
迷茫 2017-06-12 09:32:02
0
4
845

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?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(4)
迷茫

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

代言
        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

迷茫
<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

Ty80

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();
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan