Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Позиционирование скрола в DIV-е


Автор: Konstantin_d 24.4.2008, 17:24
Имеется таблица в диве. Когда я выбираю строку (где-то в низу таблицы) которую хочу подцветить, у меня происходит обновление страницы. После чего скрол у дива возвращается в исходное положение.

Подскажите, как сделать, чтобы скрол перешел к подцвеченной строке?



Автор: IDVsbruck 24.4.2008, 18:26
А от чего происходит обновление страницы?
"Чтобы скролл перешел к "подцвеченой" строке" - это после обновления страницы?

Автор: Konstantin_d 28.4.2008, 14:34
Цитата(IDVsbruck @  24.4.2008,  18:26 Найти цитируемый пост)
А от чего происходит обновление страницы?

Обновление страницы происходит из-за того, что я жму по строке в таблице. Так необходимо. По нажатию на строке информация (необходимая) передается в класс, где обрабатывается и возвращается на страницу.

Цитата(IDVsbruck @  24.4.2008,  18:26 Найти цитируемый пост)
"Чтобы скролл перешел к "подцвеченой" строке" - это после обновления страницы?

Да.

Автор: SelenIT 28.4.2008, 15:04
Цитата(Konstantin_d @  28.4.2008,  14:34 Найти цитируемый пост)
Так необходимо.

Спорный тезис, в наш век всевозможных Аяксов и прочей асинхронщины.

Автор: NNaarreekk 28.4.2008, 15:48
Не знаю сработает или нет, но можно попробовать так (на лету):
document.getElementById('id строки').focus();

Автор: Konstantin_d 28.4.2008, 16:35
Цитата(NNaarreekk @ 28.4.2008,  15:48)
Не знаю сработает или нет, но можно попробовать так (на лету):
document.getElementById('id строки').focus();

Сработает так.
Код

    window.onload=function(){
    var table = document.getElementById('stable');
    document.getElementById('div1').scrollTop=table.rows[<%=p_int%>].offsetTop-30;
    }


Но проблема в том, что в каждой строке таблице рисуется другая таблица с разным количеством строк.
Можно, но ли перейти по цвету выделенной строки?

Автор: NNaarreekk 29.4.2008, 21:33
Ну нужно for-ом по всем пройти, определить id того  у кого цвет другой и остальное понятно..
Код

xxx= document.getElementsByTagName("TD").length;
for(i=0;i<xxx;i++){
if(document.getElementsByTagName("TD")[i].style.backgreoundColor=='#555555'){tt=document.getElementsByTagName("TD")[i].id;break;}
}
//потом твой код

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)