Heim  >  Fragen und Antworten  >  Hauptteil

javascript – Nach dem Seitensprung zur vorherigen Seite zurückkehren und den Timer löschen

Wenn Sie auf das Produkt klicken, wird eine Maskenebene angezeigt, in deren Mitte ein GIF auf das Laden wartet. Wenn der Netzwerkstatus nicht gut ist und nach 30 Sekunden kein Sprung erfolgt, wird dies angezeigt Der aktuelle Netzwerkstatus ist nicht gut. Die Maskenebene verschwindet nach drei Sekunden. Ich habe es auf einem echten iOS-Gerät getestet. Wenn ich auf die Produktdetailseite klicke, ist die Maskenebene noch vorhanden und es dauert 30 Sekunden, bis sie verschwindet. So lösen Sie dieses Problem

  function Load() {
         var load = document.createElement('p');
         load.className='load_ctn';
         var load_img = document.createElement('img');
         load_img.src="/public/images/loading.gif"
         load_img.className="load_pic";
         load.appendChild(load_img);
         document.body.appendChild(load);
         var timer = setTimeout(function() {
           var network = document.createElement('p');
           network.className="network"; 
           network.innerHTML="您当前网络状态不佳,请稍后再试";
          load.removeChild(load_img);
          load.appendChild(network);
          setTimeout(function() {
              load.parentNode.removeChild(load)
              
          },3000)
         },30000)
     }

 $("a").click(function() {
         Load();
     })
怪我咯怪我咯2732 Tage vor558

Antworte allen(2)Ich werde antworten

  • 習慣沉默

    習慣沉默2017-05-19 10:11:32

    var time = setTimeout(function() {
        load.parentNode.removeChild(load)  
    },3000)
    
    //跳到商品详情页的时候移除setTimeout这个定时器
    clearTimeout(time)

    Antwort
    0
  • 高洛峰

    高洛峰2017-05-19 10:11:32

    出个简单的办法,在每次进入商品页的时候都对页面进行一次初始化。。。这样可以在最短时间内解决一些问题,而且副作用很小

    Antwort
    0
  • StornierenAntwort