Совместное использование innerHTML и onMouseOver
В заметке простейший пример использования методов и свойств innerHTML и onMouseOver для динамического изменения текста на странице.
Итак наипростейший пример изменения текста при наведении ссылки на нужную ссылку (и вообще любой другой контейнер):
<html> <script type="text/javascript"> <!-- function change_desc() { //desc.innerHTML="Поменяли содержимое абзаца с id='desc'"; не универсальный вариант document.getElementById("desc").innerHTML="Поменяли содержимое абзаца с id='desc'"; } --> </script> <p id="desc">Абзац с меняющимся текстом</p> <a href="#" onMouseOver="change_desc()">Меняем текст</a> </html>
Этот пример можно немного упростить, например, менять текст в абзаце на разные варианты и возвращать его в исходное состояние после убирания с него указателя мыши, используя заранее определенные строковые константы:
<html> <script type="text/javascript"> <!-- default_text="Стандартный текст"; text1="Соответственно текст1"; text2="Соответственно текст2"; function change_desc(v) { //desc.innerHTML="Поменяли содержимое абзаца с id='desc'"; не универсальный вариант document.getElementById("desc").innerHTML=v; } --> </script> <p id="desc">Абзац с меняющимся текстом</p> <!-- запускаем нашу микрофункцию с параметров в виде имени константы с текстами --> <a href="#" onMouseOver="change_desc(text1)" onMouseOut="change_desc(default_text)">Меняем текст на 1-ый</a> <a href="#" onMouseOver="change_desc(text2)" onMouseOut="change_desc(default_text)">Меняем текст на 2-ой</a> </html>
Примечание:
Если при тестировании работы JavaScript FireBug выдает сообщение "'имя переменной, константы или функции' is not defined" необходимо проверить на правильность свой код. Например, если в
содержимом константы присутствуют неэкранированные кавычки ("), а перед
обявлением функции может отсутствовать символ точки с запятой (;).
Created/Updated: 25.05.2018