<style type="text/css"> div[class] { border:red solid 1px; width:130px; margin:2px; padding:6px; } div[id] { width:230px; height:40px; padding:6px; border:blue solid 1px; } </style> <script type="text/javascript"> var obj={ Marker:'Текст для Marker', products:'Текст для products', services:'BLa-BLa-Текст для services' } function change1(elem) { document.getElementById('center').innerHTML = obj[elem.className]; } </script> <div id="center"></div> <br /> <br /> <div onclick="change1(this)" class="products"></div> <div onclick="change1(this)" class="services"></div> <div onclick="change1(this)" class="Marker"></div> |
Но он показывает в том же диве, а мне надо в другом!
Я же обьяснил как мне надо :) Ваш пример добавляет в тот же див где расположен onclick а мне надо в другом. См. выше как надо. Спасибо |
Marker,
:) Поправил |
Спасибо, работает! Но дело в том что наш учитель ещё не обьяснял такой синтакс var obj={ Marker:'Текст для Marker', products:'Текст для products', services:'BLa-BLa-Текст для services' } obj[elem.className]; Я уверен он бы не стал задавать задания с таким решением. Может смогу обьяснить словами, как он говорит логически сделать. Делаем функцию change (popox). Если popox равно document.getElementById("products"), то getElementById("center").innerHTML = "ТЕКСТ ДЛЯ PRODUCT". Так же со всеми другими. Задачу надо решить параметрами функции. В первом сообщении я напиасал, как я представляю задачу логически, но она не работает, пожайлуста можете переделать код именно так, как я сказал? Буду очень благодарен. |
<style type="text/css"> div[class] { border:red solid 1px; width:130px; margin:2px; padding:6px; } div[id] { width:230px; height:40px; padding:6px; border:blue solid 1px; } </style> <script type="text/javascript"> function change1(elem) { var a=elem.className; var b=''; if(a=='products') b = 'Текст для products'; if(a=='main') b = 'BLa-BLa-Текст для main'; document.getElementById('center').innerHTML = b; } </script> <div id="center"></div> <br /> <br /> <div onclick="change1(this)" class="main"></div> <div onclick="change1(this)" class="products"></div> |
Теперь лучше, но все же, мы не учили var a=elem.className,b; Как можно заменить, как сделать так как я написал?
|
Marker,
document.getElementById("products") - не получицо - посколь у Вас класс а не id Для ID нужны div такого вида <div onclick="change1()" id="main"></div> <div onclick="change1()" id="products"></div> |
Ну пусть будут id, напишите с document.getElementById("products"), но не только для products, но и для main. Я изменю класс на id
|
<style type="text/css"> div { border:red solid 1px; width:130px; margin:2px; padding:6px; } #center { width:230px; height:40px; padding:6px; border:blue solid 1px; } </style> <script type="text/javascript"> function change1() { var b = 'BLa-BLa-Текст для main'; document.getElementById('center').innerHTML = b; } function change2() { var b= 'BLa-BLa-Текст для products'; document.getElementById('center').innerHTML = b; } </script> <div id="center"></div> <br /> <br /> <div onclick="change1()" class="main"></div> <div onclick="change2()" class="products"></div> |
Спасибо!! То что надо!
Если у вас есть время, напишите мне пару задач вроде этого(используя тот же метод) Чтобы это знание во мне закрепилось! Ещё раз благодарю! |
Часовой пояс GMT +3, время: 08:59. |