[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Доступ к scroll'у дива через яваскрипт
pro_xaoc
Доброго времени суток! У меня возник вопрос: Я бы хотел получить доступ к scroll див объекта (у которого overflow: auto). Как это можно реализовать? В общем если спросите почему, то я хочу сделать так, что когда нажимается и удерживается кнопка мыши (MouseDown) над скроллом, то цикл прекращает свое действие, а если отпускается, то цикл возобновляет свое действие. Спасибо.



Спустя 1 минута, 49 секунд (1.03.2011 - 16:51) DmitryOpalev написал(а):
documentGetElementById('div').style.overflow='auto'

Спустя 21 минута, 10 секунд (1.03.2011 - 17:12) pro_xaoc написал(а):
DmitryOpalev
нет, вы меня не поняли, мне нужно получить доступ к скроллерам дива, когда они появляются. Хочу повесить на MouseDown этого скролла функцию. Вот не получается это у меня.

Спустя 3 минуты, 28 секунд (1.03.2011 - 17:16) Snus написал(а):
pro_xaoc
<script type="text/javascript">
window.onload = function(){
document.getElementById('divId').onscroll = function(){
alert('О НЕТ! МЕНЯ СКРОЛЛЯТ! :)');
}
}

</script>

Спустя 3 часа, 17 минут, 15 секунд (1.03.2011 - 20:33) pro_xaoc написал(а):
Так, понял что к скроллеру прямого доступа нет. Поэтому пошел другим путем. У меня че то не получается код, который привел внизу. Когда я кликаю в первый раз, срабатывает первое действие (все правильно), но когда кликаю во второй раз, то 1 действие не прекращается, setInterval так и остается действовать. Как сделать так, чтобы при втором клике, остановился setInterval?
	$('#chat_content').toggle(function(){
setInterval(function(){
$('#chat_content').scrollTop(9999);
},0);
},function(){
$('#chat_content').scrollTop(0);
});

Спасибо!

Спустя 2 часа, 27 минут, 16 секунд (1.03.2011 - 23:00) Snus написал(а):
pro_xaoc
Ты автопрокрутку для чата делаешь?

Спустя 1 час, 37 минут, 10 секунд (2.03.2011 - 00:37) glock18 написал(а):
pro_xaoc
scrollOffset

Спустя 9 часов, 24 минуты, 15 секунд (2.03.2011 - 10:02) pro_xaoc написал(а):
Snus
да, автопрокрутка для чата, хотя чат сейчас полностью работает, но криво работает, пипец криво, я везде понаставил там setInterval с delay = 0, :rolleyes: ,
setInterval(function(){
$('#pole').focus();
},0);

хотел сделать фокус всегда на поле для ввода текста, но после этого нет доступа к адресной строке и к поисковику гугла рядом с адресной строки =)), основной див контент, куда загружаются сообщения чата обновляется через setInterval с delay 1000.
glock18,
в нете я не нашел описания и синтаксис функции scrollOffset. Пока не забыл, насколько вредно использовать setInterval c delay=0?

Спустя 36 минут, 29 секунд (2.03.2011 - 10:38) glock18 написал(а):
в общем, я соврал по понятным ассоциациям с размерами :) scrollTop свойство называется, а не scrollOffset. использовать типа:

alert(document.getElementById('elementToScroll').scrollOffset);
document.getElementById('elementToScroll').scrollOffset = 0;

Спустя 11 часов, 16 минут, 32 секунды (2.03.2011 - 21:55) pro_xaoc написал(а):
кажется я нашел решение со скроллингом с помощью функции scrollHeight, а дальше хороший алгоритм и дело в шляпе =)) Спасибо всем кто ответил!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.