Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   крутим скролл программно (https://javascript.ru/forum/misc/35063-krutim-skroll-programmno.html)

qwermjk 29.01.2013 18:44

крутим скролл программно
 
Как крутить скрол у дива?? в самый низ

danik.js 29.01.2013 19:00

<style>
    html, body, div{height: 100%;margin:0;padding:0}
    div{float:right;width:80%;overflow: auto;}
    span{display:block;height:2000px;}
</style>
<script>
    function scrollToBottom() {
        scroller.scrollTop = scroller.scrollHeight - scroller.offsetHeight;
    }
</script>

<div id=scroller>
    <span></span>
</div>

<button onclick=scrollToBottom()>Прокрутить вниз</button>

qwermjk 29.01.2013 19:31

Рабочий вариант, но не понятный какой то, это как так автоматически определяет идентификатор?

danik.js 29.01.2013 20:36

Браузер создает глобальные переменные из идентификаторов dom-элементов. Это описано в стандарте.
Не уверен что нужно использовать это в продакшне, но для демки то пойдет )

qwermjk 29.01.2013 21:07

А есть что нибудь на jquery?? без дополнительных расширений

kobezzza 29.01.2013 21:25

Цитата:

Сообщение от qwermjk (Сообщение 230240)
А есть что нибудь на jquery?? без дополнительных расширений

*facepalm*

danik.js 29.01.2013 21:27

Что? Каких еще расширений? На jQuery есть метод $(el).scrollTop(x)
что равносильно el.scrollTop = x
Обертки для scrollHeight я не нашел. Возможно это $(el).innerHeight()
для offsetHeight сойдет $(el).outerHeight() или мож $(el).height()

qwermjk 29.01.2013 22:28

Цитата:

Сообщение от danik.js
Что? Каких еще расширений?

да я имел ввиду, плагинов!
Цитата:

Сообщение от danik.js
Обертки для scrollHeight я не нашел. Возможно это $(el).innerHeight()
для offsetHeight сойдет $(el).outerHeight() или мож $(el).height()

хорошо, проверю!

megaupload 29.01.2013 22:38

предвкушая следующий вопрос

$(this).animate({scrollTop:500});

qwermjk 30.01.2013 10:44

Цитата:

Сообщение от megaupload
animate

Нет не угадал!
Как сделать плавно, я уж знаю!!


Часовой пояс GMT +3, время: 16:27.