Автор
|
Тема: Динамическое изменение текста
|
rusalex |
опубликован 04-02-2002 00:04 MSK
Hi, многоуважаемый ALL!Подскажите, как динамически изменить текст (часть текста) в документе. Т.е. чтобы по нажатию некоторой кнопки на месте одного текста появлялся другой. Знаю, что оба куска текста пишутся в HTML заранее, и у одного из них ставится hidden=no. Затем по нажатию этой самой кнопки hidden у обоих кусков меняется на противоположный. А вот как правильно написать это на JS - не знаю... :(((
|
Valery Votintsev
|
опубликован 04-02-2002 12:44 MSK
Проще использовать не слои, а Document Object Model (почитай, заинтересуешься!)Суть его - каждая фигулька на странице - это объект со своими свойствами и методами (прям как в Дельфи или VC++). И каждое свойство любой фигульки можно поменять. Например так: document.MyObject.text.value = "хрю-хрю";
|
rusalex
|
опубликован 04-02-2002 23:55 MSK
Спасибо, именно это я имел в виду... вот только как применить это на практике? т.е. в данном примере, как должны быть описаны (на HTML) "MyObject" и "text"? И можете ли посоветовать действительно толковую книгу(-и) или другой источник знаний по DOM, да и по всему JS?З.Ы. (наболело)... На самом деле JS - это засада какая-то. Со многими языками сталкивался, но такое вижу в первый раз. Кучу книжек накупил - и нигде нет полной спецификации языка, полного списка объектов, методов и свойств :( а даже те, что есть, описаны так, что сам чёрт ногу сломит, к тому же зачастую без примеров :((( Прямо не язык, а военная тайна какая-то! Обидно. Язык красивый и полезный, и очень хочется полноценно программировать на нём. Но КАК? :-О |
Valery Votintsev
|
опубликован 05-02-2002 11:29 MSK
Увы, с доками действительно сложно. Если силен в английском - советую заглянуть на http://www.irt.org/index.htm - там есть хороший ФАК с примерами решения. Я себе многое именно там нашел. |
rusalex
|
опубликован 06-02-2002 12:54 MSK
Спасибо за ссылку, сайт действительно полезный. А всё-таки можешь написать пример кода?Текст ("Это русский текст") и 2 кнопки: "English" и "Russian". При нажатии на кнопку "English" текст "Это русский текст" заменяется на "This is English text", на кнопку "Russian" - соответственно наоборот. |
Valery Votintsev
|
опубликован 06-02-2002 17:47 MSK
<HTML> <div id="test">This is English text</div> <br> <a href="#" onClick="document.all.test.innerText='This is English text'; return 1;">Set English</a> <br> <a href="#" onClick="document.all.test.innerText='Это Русский текст'; return 1;">Set Russian</a> </HTML>
|
rusalex
|
опубликован 07-02-2002 14:14 MSK
И получается код для IE... В NN, насколько я знаю, не <DIV>, а <LAYER>... :(Жаль, что без секса с различными браузерами не обойтись, но всё равно спасибо! :))) |