2015-01-09 3 views
0

Я разрабатываю страницу обмена мгновенными сообщениями для своего сайта, и поэтому я хочу, чтобы div прокручивался снизу, чтобы можно было увидеть самое новое сообщение. Страница сохраняется как файл php и использует jQuery для прокрутки.jQuery прокрутите до конца div очень tempremental

Код:

$(function() { 
var wtf = $('#chat'); 
var height = wtf[0].scrollHeight; 
wtf.scrollTop(height); 
}); 

В настоящее время я использую следующий код, однако он очень темпераментный и работает только около 1 в 4 раза, я не добавил код веб-страницы, как это это несколько сотен строк, однако Я могу при необходимости. Есть ли лучшее решение, которое работает более последовательно?

+1

Привет, вы можете объяснить больше об этом несовместимое? Что происходит, когда это не работает, какие ошибки вы получаете в своих инструментах для разработчиков? Вы запускаете это только при загрузке страницы или запускаете его с регулярными интервалами? – atmd

+0

Это только срабатывает при загрузке страницы, непоследовательность очень случайна и, похоже, нет рисунка, иногда она прокручивается на дно, иногда она остается наверху. Какой инструмент разработки я должен использовать для просмотра ошибок? Я использую скобки и стандартный Google Chrome. Мои исследования показали мне, что этот код не всегда работает, поэтому мне интересно, существует ли более последовательное решение. –

+0

Откройте инструменты разработчика Chrome и посмотрите на консоль. Затем проверьте wtf и высоту с помощью console.log (wft); console.log (height); Возможно, это поможет вам с вашими усилиями по отладке :) –

ответ

0

Алекс, я бы попытаться загрузить эту функцию с

$(window).load(functiion() { 
    //your code here 
    var wtf = $('#chat'); 
    var height = wtf[0].scrollHeight; 
    wtf.scrollTop(height); 
} 

Разница между этим и document.ready является document.ready срабатывает при загрузке документа, который находится перед всей загрузки страницы в некоторых случаях. Это будет немного более медленное время загрузки, если вы это сделаете, но ваш сценарий должен по крайней мере работать последовательно. Я столкнулся с подобными проблемами. Попробуйте и дайте мне знать, как это работает для вас.

+0

Спасибо, что решил мою проблему и объяснил причину возникновения проблемы, поскольку иногда данные полностью загружались до того, как скрипт выполнил, а иногда и нет. –

0

Добавить якорь сразу после DIV ... <a href="#bottomofdiv"></a> тогда, когда вы обновить ... yourpage#bottomofdiv