2016-05-03 2 views
0

Я сделал чат в PHP/JS/JQuery, и я хочу автопрокрутить после появления нового сообщения. Вот мой код (JavaScript):Как сделать автопрокрутку, если в javascript

$(function(){ 
$(document).on('submit','#chatForm',function(){ 
    var text = $.trim($("#text").val()); 
    var name = $.trim($("#name").val()); 

    if(text != "" && name != ""){ 
     $.post('poster.php',{text: text, name: name},function(data){ 
      $(".chatMessages").append(data); 
     }); 
    }else{ 
     alert("Data missing!"); 
    } 
}); 

function getMessages(){ 
    $.get('receive.php',function(data){ 
     $(".chatMessages").html(data); 
    }); 
} 

setInterval(function(){ 
    getMessages(); 
    document.getElementById('chatBottom').scrollIntoView(); 
},500); 
}); 

Но это не прокручивается

+0

Вы получили ошибки? Существует ли 'chatBottom' как' ID'? – Marcus

+0

Существует, но не работает. Нет ошибок –

+0

Где это? В HTML-разметке жестко закодированы на странице? В ответе 'getMessages()'? Он может быть недоступен из-за объема. – Marcus

ответ

0

Использование JQuery анимации функции, как это: $(".chatMessages).animate({scrollTop:$(this).scrollHeight},500);

+0

Не работает unfortunatelly –

+0

вы можете обмениваться html-кодом или создавать скрипты –

0

Вы могли бы использовать что-то, как показано ниже -

function pageScroll() { 
     window.scrollBy(0,50); // horizontal and vertical scroll increments 
     scrolldelay = setTimeout('pageScroll()',100); // scrolls every 100 milliseconds 
} 

You может не понадобиться функция setTimeout, но каждый раз нужно проверять новое сообщение.

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