Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Фокусировка на найденой строке. (https://javascript.ru/forum/dom-window/78864-fokusirovka-na-najjdenojj-stroke.html)

Delphin911 15.11.2019 10:24

Фокусировка на найденой строке.
 
Народ, поможите.
Есть таблица
<table height='100%'>
<tr>
<td>
<table>
<tr>
<td>Заголовок1</td><td>Заголовок2</td>
<tr>
</table>
</td>
</tr>
<tr>
<td>
<div class='divscroll'>
<table>
<tr>
<td>qqqqqq</td><td>dddddddd</td>
</tr>
------------------------------------
много строк
------------------------------------
<tr>
<td>ааааааа</td><td>пппппппп</td>
</tr>
</table>
</div>
</td>
</tr>
</table>

С помощью этого кода я добился, чтобы заголовки были статичны, а вся таблица с прокруткой.
С помощью AJAX я подсвечиваю скажем строку по клику.
Когда прокрутки не было, было все хорошо. Прокручивалась вся таблица с заголовками и двигалась вся и при перерисовке выделеная строка оставалась видимой. Сейчас же если выбрать строку не влезающую на страницу, то она подсвечивается, но таблица прокручивается к первой строке и выделеная строка становится невидна. В итоге все равно приходится прокручивать таблицу к выделеной строке.
Вопрос: можно как-то сфокусироваться на нужной строке? Скажем на 100 по порядку?
Или же при поиске, чтобы таблица прокрутилась к нужной строке?

Malleys 15.11.2019 13:48

Цитата:

Сообщение от Delphin911
С помощью AJAX я подсвечиваю скажем строку по клику.

Что за бред? Кого вы обманываете?

Цитата:

Сообщение от Delphin911
можно как-то сфокусироваться на нужной строке? Скажем на 100 по порядку?

То, что вы привели определённо не делает то, что вы описали! Приведите код, над которым работаете!

Delphin911 15.11.2019 14:41

Честно скажу, код содрал.
Вот функция, которая работает скажем по клику мышкой по строке таблицы:
function showCollection(x, y) 
{
	if (window.XMLHttpRequest) 
	{
		// code for IE7+, Firefox, Chrome, Opera, Safari
    	xmlhttp = new XMLHttpRequest();
	} 
	else 
	{
    	// code for IE6, IE5
    	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp.onreadystatechange = function() 
	{
    	if (this.readyState == 4 && this.status == 200) 
		{
     		document.getElementById("Base").innerHTML = this.responseText;
		}
	}
	xmlhttp.open("GET","main.php?x=" + x + "&y=" + y + "&DBN=" + DB_NAME + "&DBU=" + DB_USER + "&DBPW=" + DB_PASSWORD + "&DBH=" + DB_HOST + "&DBP=" + DB_PORT,true);
	xmlhttp.send();
}


Та таблица, что я привел выше отрисовывается в PHP на элементе DIV, который лежит на основной странице:
<div id="Base"></DIV>

В таблице на каждой ячейке обработчик OnClick(). По нему отрабатывает приведенная выше функция.
Так вот данные то он отрисовывает и все хорошо, мока данных не много и они влезают на страницу. но как только данные вышли за пределы страницы, при отрисовке таблица видна с первой строки.
Я нашел вариант скажем с прокруткой на определенную длину вниз, но это как минимум не красиво, когда таблица скачет перед глазами.


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