2016-05-03 17 views
1

Hallo Jungs, wie ich aufhören kann setInterval von Funktion mit Hilfe von clearInterval genannt in anderen Funktion aufgerufen?how to stop setInterval von Funktion mit ClearInterval aufgerufen in anderen Funktion aufgerufen

Es ist notwendig, setInterval in Funktion zu verwenden, weil ich dieselbe Funktion verwende, um mein Popup-Fenster zu schließen, indem ich auf x klicke und den Timer durch Schließen des Popup-Fensters stoppen möchte.

JS:

function onlinechat(id) { 
     $.ajax({ 
      .... 
      success: function(data){ 
       $(".myclass").append(data); 
       var stopChat = window.setInterval(function() { 
        loadmore(id); 
       }, 2500); 
      } 
     });  
    return false; 
} 

function loadmore(id){ 
    ..... 
} 

function close_online_chat(){ 
    $('.lobibox-window').hide(); 
    clearInterval(stopChat); 
} 

HTML:

<div class="lobibox-window"> 
    <div class="lobibox-header"> 
     <span class="btn-close" onclick="close_online_chat();return false;">×</span> 
    </div> 
    <div class="lobibox-body" style="height: 510px;"> 
     <div class="myclass"></div> 
    </div> 
</div> 

Antwort

0

Als erstes müssen Sie die Variable als globale Variable definieren.

var stopChat; //define as global variable 
function onlinechat(id) { 
     $.ajax({ 
      .... 
      success: function(data){ 
       $(".myclass").append(data); 
       //don't use var here 
       stopChat = window.setInterval(function() { 
        loadmore(id); 
       }, 2500); 
      } 
     });  
    return false; 
} 

function loadmore(id){ 
    ..... 
} 

function close_online_chat(){ 
    $('.lobibox-window').hide(); 
    clearInterval(stopChat); 
} 
+0

danke, dass Sie gearbeitet haben. – CHARLI

Verwandte Themen