При добавлении новой строки установите фокус на конец таблицы внутри div - PullRequest
3 голосов
/ 03 февраля 2010

У меня есть таблица внутри div с заданной высотой, когда таблица больше, чем div, появляется полоса прокрутки-y.Проблема заключается в том, что если полоса прокрутки элемента div находится сверху, а другая строка внизу скрыта, а пользователь нажимает кнопку, чтобы добавить новую строку, эта строка добавляется внизу таблицы, поэтому вы можете

Есть ли в любом случае с javascript, vbscript или css установить фокус на строку, которую он создал, чтобы он был виден при добавлении?

Это код, где функциядобавление новой строки будет вызвано.

   strRow = strRow + "<div>
        <input ID='AddRowTableNew_" + cstr(newrow.id) + "' type='button' 
        value='Add New Row' 
        onclick='vbscript:AddNewRow 0," + cstr(newRow.id)+ "'/>
    </div>"

Любая помощь будет приветствоваться.

PD: мне нужно, чтобы это было на VBScript или JavaScript, пожалуйста, не JQuery.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 03 февраля 2010

Попробуйте Element.scrollIntoView();. Он работает в Firefox, IE6 +, Opera и Google Chrome / Safari.

Вы также можете предоставить логическое значение для функции, которая будет указывать, куда прокрутить элемент:

// Align the element with the top of the parent
Element.scrollIntoView();
Element.scrollIntoView(true);

// Align the element with the bottom of the parent
Element.scrollIntoView(false);

РЕДАКТИРОВАТЬ: Документация MDC для scrollIntoView с примером

Чтобы прокрутить до конца, вы также можете просто установить свойство scrollTop элемента равным свойству scrollHeight:

Element.scrollTop = Element.scrollHeight;
2 голосов
/ 03 февраля 2010

Попробуйте это ...

var div = document.getElementById('the_div');
div.scrollTop = div.scrollHeight;

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...