Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.02.2010, 02:05
Интересующийся
Отправить личное сообщение для cooli0 Посмотреть профиль Найти все сообщения от cooli0
 
Регистрация: 25.01.2010
Сообщений: 20

Scrollbar и ajax
Всем привет!

Делаю собственный scrollbar для дива. Все работает отлично. Но вот появилась проблема. Контент периодически добавляется => scrollHeight увеличивается. После того, как это происходит - я обновляю размер скроллера, но положение скроллера на треке остается неизменным и, как только начиаешь его двигать, то он как-бы спрыгивает с видимого контента в другое место. Не уверен, что объяснил доступно. На примере - если в textarea есть какой-то текст и мы перемещаем скролл в середину, а после этого добавим дофига текста (например через firebug))), то скроллер, по мере добавления текста, будет уменьшаться и перемещаться вверх. Вот интересует вычесление этого перемещения. После аякса я вызываю Scrollbar.update();

вот что она делает

Scrollbar.prototype._setScrollerHeight = function() {
        var scroller_height = 20;
        if ( this.target.scrollHeight > this.target.clientHeight ) {
            scroller_height = ( this.height * ( this.height -34) ) / this.target.scrollHeight;
            scroller_height = Math.round(scroller_height);
            scroller_height = scroller_height < 15 ? 15 : scroller_height;
            this._can_draw = true;
        }

        this._scroller_height = scroller_height;
    };

    Scrollbar.prototype.update = function() {
        if ( !this._scroller ) {
            this._run();
        }
        var old_scroller_height = this._scroller_height;
        this._setScrollerHeight();
        if ( old_scroller_height == this._scroller_height ) {
            return;
        }
        Dom.setStyle(this._scroller, 'height', this._scroller_height);
        this.recalculateStep();

        this._old_target_height = this._getScrollPosition();
    };


Тут происходит изменение размера самого скроллера...Думаю, что для вычисления новой позиции - что-то с пропорциями, но я туплю. Уже запарился с этим. Помогите, кто может)

Последний раз редактировалось cooli0, 03.02.2010 в 02:09.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23
Проблема с AJAX запросом + mod_rewrite BrokenEye AJAX и COMET 1 12.07.2009 02:08
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12
AJAX и БД SunYang AJAX и COMET 3 06.06.2008 22:44