2015-12-23 2 views
0

Привет, у меня возникли проблемы с моим jQuery, он прокручивается донизу, но я хочу, чтобы он прокручивался вниз, не каждый х секунд довольно раздражает, и я не знаю, как его исправить вот мой код :)JQuery автоматическая прокрутка внизу один раз

setInterval(function(){ 
    var request = $.ajax({ 
    'url': './message/all', 
    'type': 'GET', 
    }); 

    request.error(function(status){ 
     $('html').html(status.responseText) 
    }) 

    request.done(function(response){ 
     if(response == '') 
     { 
      $('.chat-body').html('No Messages :)'); 
     } 
     else 
     { 

      $('.chat-body').html(response); 
      jQuery("div#demo").scrollTop(jQuery("div#demo")[0].scrollHeight); 

     } 
    }) 
}, 1500) 
+1

Как указано в [ask], вы должны предоставить как можно больше деталей, например, когда вы хотите точно прокрутить вниз? после загрузки страницы? после определенного события? Кроме того, функция setInterval делает именно это, выполняйте код непрерывно, с заданным интервалом времени, почему вы не используете прокручиваемый код вне функции setInterval? – saljuama

+1

Возможный дубликат [jQuery Прокрутка в конец страницы/iframe] (http://stackoverflow.com/questions/1890995/jquery-scroll-to-bottom-of-page-iframe) – khuderm

+0

Пожалуйста, добавьте запятые! И если вы хотите, чтобы он работал только один раз, зачем использовать setInterval? – Olga

ответ

0

Если вы хотите сделать это только один раз, изменить ваш setInterval(function(){ на:

setTimeout(function() { 

setInterval(function, n) выполняет функцию каждые n секунд, в то время как setTimeout(function, n) выполняется только один раз, после того, как n секунд.

Смежные вопросы