Технический форум

Технический форум (http://www.tehnari.ru/)
-   Форум программистов (http://www.tehnari.ru/f22/)
-   -   Как модифицировать скрипт поиска на javascript? (http://www.tehnari.ru/f22/t36153/)

angry_cat 18.05.2010 17:03

Как модифицировать скрипт поиска на javascript?
 
Здравствуйте. Проблема в следующем: нужен скрипт поиска НА СТРАНИЦЕ (то есть чтоб ни по поисковикам не лазил, ни в инет вообще не выходил). Нашла вот такой простейший скриптик:

<script type="text/javascript">
function searchTextOnPage(inputId) {

var obj = window.document.getElementById(inputId);

var textToFind;

if (obj) {
textToFind = obj.value;
} else {
alert("Unable to find input with id = " + inputId);
return;
}

if (textToFind == "") {
alert("Please, input text");
return;
}

document.body.innerHTML = document.body.innerHTML.replace(eval("/"+textToFind+"/g"),"<b>"+textToFind+"</b>");

var obj = window.document.getElementById(inputId);
obj.value = textToFind;
}

</script>

реализуется так:

<input type="text" id="text-to-find"> <a href="#" onclick="javascript: searchTextOnPage('text-to-find'); return false;">Найти</a>

Работать-то работает, то есть выделяет жирным нужные слова, но хотелось бы чтобы при новом поиске предыдущие найденные слова снова становились невыделенными, а еще было бы крайне желательно ,чтобы не приходилось потом страничку прокручивать в поисках выделенных слов, а чтобы он, как в файрфоксе, делал поиск вниз от выделения. Как это можно сделать? Диплом горит. Заранее благодарю.

MrSTEP 19.05.2010 00:57

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

MrSTEP 21.05.2010 21:11

Немного запоздало, но вот выкладываю обещанное (пример из написанной некогда статьи по гитарам) :
Код HTML:

  <a href="#1"><img src="acustic.jpg" title="Акустическая гитара"></a>&nbsp;
  <a href="#2"><img src="electro.jpg" title="Электоргитара"></a>&nbsp;
  <a href="#3"><img src="bas.jpg" title="Бас-гитара"></a>&nbsp;

А в тексте, куда будут вести эти ссылки:
Код HTML:

<a name=1></a>
  <center><u>Акустическая гитара</u></center>

Код HTML:

<a name=2></a>
  <center><u>Электрогитара</u></center>

Код HTML:

<a name=3></a>
  <center><u>Бас-гитара</u></center>


angry_cat 25.05.2010 22:31

спасибо вам огромное, все работает :)

MrSTEP 25.05.2010 23:40

И поиск на отдельную страницу выводит? Выложите скрипт на память :)

angry_cat 27.05.2010 10:07

поиск не выводит, но прокрутку делает ) вообще взяла другой скрипт и по вашим предложениям его модифицировала )

MrSTEP 27.05.2010 10:59

ну, хоть что-то


Часовой пояс GMT +4, время: 21:14.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.