Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Перемещение на текст (https://javascript.ru/forum/misc/1353-peremeshhenie-na-tekst.html)

martinz 29.06.2008 17:05

Перемещение на текст
 
Создал поиск по странице с подсветкой искомого слова:
<input type="text" name="but1" value="" onkeypress="javascript:if(event.keyCode == 13){FD983r={x:function()
{var r,i,s=document.selection.createRange().text;
if(!s);
s=but1.value;
if(s){r=document.body.createTextRange();
for(i=0;r.findText(s);i++){r.execCommand('BackColor','','006600');
r.collapse(false)};alert('Нашел: '+i+' слово(а)')}}};
FD983r.x()}">


А как сделать так, чтобы допустим на нажатие кнопки F3 страница пролистывалась на искомое слово. (Например как это делает стандартный поиск)

Dmitry A. Soshnikov 29.06.2008 17:29

martinz, повесьте onkeypress на document и ловите 114 keyCode.

martinz 29.06.2008 17:38

Dmitry A. Soshnikov, эммм... а можно написать код скрипта?
В смысле как обработать F3 это я понял, надо прокрутить как-нибудь страницу на этот текст

Dmitry A. Soshnikov 29.06.2008 20:05

martinz, поработайте с методом window.scroll(...) / window.scrollTo(...). Если бы найденный текст обрамить каким-нибудь span'ом и задать id, то один из вариантов:

- запоминайте найденные элементы;
- по нажатию F3 получайте абсолютные координаты текущего элемента;
- делайте scroll / scrollTo до полученных координат.

А вообще, погуглите на эту тему еще.


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