2017-04-21 4 views
0

ich ein setInterval bin mit() ein Teil der Seite für alle 1 Sekunde zu laden. Alles funktioniert gut, aber ich zeige alle Nachrichten mit einer Tabelle an. Ich möchte die Bildlaufleiste immer nach unten verschieben.Wir müssen nach unten scrollen, um neue Nachrichten anzuzeigen. Daher möchte ich meine Bildlaufleiste standardmäßig nach unten fixieren.JQuery zu beheben nach unten scrollen nach unten - Ein Problem

Jquery-Code, der die Nachrichtentabelle wird geladen

setInterval(function(){ 
     if(user.trim()!=""){ 
      $.ajax({ 
       type : "GET", 
       url : "getuserconversation", 
       data: {username: user}, 
       datatype: "json", 
       success: function(data){     
        if(data.success){ 
         $(".messages").load("conversation_of_users.jsp"); 
         var $mydiv = $("#msgs"); 
         $mydiv.scrollTop($mydiv.height()); 
        } 
       }, 
       error: function() { 
        console.log("error"); 
       } 
      }); 

     }  
    }, 5000); 

Es funktioniert aber gibt es ein Problem. Es geht bis zum Ende der Tabelle und innerhalb von 1 Sekunde kehrt es wieder nach oben zurück. Das habe ich beim Debuggen gesehen. In Echtzeit können wir das nicht einmal sehen. Ich weiß nicht, warum es wieder oben ist.

Antwort

0

Ich weiß nicht, warum nach oben zurückkehrt, aber Sie können Ihr Problem mit return false; am Ende des Callback lösen. oder können Sie verwenden e.preventDefault();

+0

I return false & Ereignis verhindern verwendet haben. Aber es hat nicht funktioniert. –