Подскажите как правильно вставить JAVASCRIPT в джумлу... возникла потребность с возможностью вывода в статье скрытого текста, который бы показывался при нажатии на заголовок - например 1) заголовок 1 2) заголовок 2 так при нажатии на "заголовок 1" пользователю бы отображался скрытый до этого текст - например 1) заголовок 1 текст заголовка 1 скрыт до тех пор, пока вы не нажмете на заголовок, при повторном нажатии этот текст должен быть спрятан2) заголовок 2 нашел в тырнете такой скрипт <a href="javascript://" onclick="myShow();return false;">[+]</a> <a href="javascript://" onclick="myHide();return false;">[-]</a> <div id="myBlock" style="border: 1px #000 solid; width: 100%;"> Нажмите на «[+]» чтобы показать этот блок. Нажмите на «[-]» чтобы спрятать этот блок. </div> <script type="text/javascript"><!--//--><![CDATA[//><!-- // Метод неверен. Не будет работать в Mozilla и Netscape. function myHide() { myBlock.style.display = "none"; } function myShow() { myBlock.style.display = "block"; } //--><!]]></script> в мозилле - на странице сайта на джумле не работает - говорит что myBlock не определен. в ИЕ все работает, на кустомной странице не относящейся к джумле скрипт в мозилле работает скажите - как сделать чтобы в мозилле все тоже работало PS <script type="text/javascript"><!--//--><![CDATA[//><!-- итд вводил в страницу frontpage.php <a href="javascript://" onclick="myShow();return false;">[+]</a> вводил в содержимое страницы ( через редактор джумлы)
Ответ: как правильно вставить JAVASCRIPT в джумлу... Правильный код выглядит так: <a onclick="myShow(); return false;" href="#">[+]</a> <a onclick="myHide(); return false;" href="#">[-]</a> <div id="myBlock" style="border: 1px solid rgb(0, 0, 0); width: 100%;"> Нажмите на «[+]» чтобы показать этот блок. Нажмите на «[-]» чтобы спрятать этот блок. </div> <script type="text/javascript"> function myHide() { document.getElementById('myBlock').style.display = "none"; } function myShow() { document.getElementById('myBlock').style.display = "block"; } </script>
сворачивание и разворачивание скрытого текста спасибо, кстати нашел еще один вариант это в тексте страницы <ul> <li> <div id="1">Первый пункт</div> <ul> <li> <div id="0"><a href="javascript://" onclick="myHideMenu(2);return false;">Первый подпункт</a> </div> <ul> <div id="2" style="display: none"> <li>Первый подпункт<br /><br /></li> <li>Второй подпункт<br /><br /></li> <li>Третий подпункт <br /><br /></li> </div></ul> </li> </ul> </li> </ul> это в странице индекс.пхп <script type="text/javascript"><!--//--><![CDATA[//><!-- function myHideMenu(Myindex){ var el = document.getElementById( Myindex ); if (el.style.display == "none"){ el.style.display = "block"; }else{ el.style.display = "none"; } } //--><!]]></script> ктати, кто может объяснить как работает данный код ( для безграмотных) прошу объяснить - так как считаю это более универсальным... взято тут http://www.xakep.ru/magazine/xa/101/128/1.asp Код (CODE): Многоуровневое меню * ЯЗЫК: HTML <ul> <li> <div class="collapsible">Первый пункт</div> <ul> <li> <div class="collapsible">Первый подпункт</div> <ul> <li>Первый подпункт</li> <li>Второй подпункт</li> <li>Третий подпункт</li> </ul> </li> </ul> </li> </ul> Как видишь, я использовал слои с классом collapsible, обозначающие «кнопки», при клике на которые меню свернется: Сворачивание меню * ЯЗЫК: JavaScript $(".collapsible").click(function() { $(this).parent().children().not(".collapsible").toggle(); }); Здесь используется классический прием jQuery – цепочка вызовов. Первой в ней идет конструкция $(this), обозначающая текущий элемент, на котором сработало событие – клик мышкой. Parent() выбирает прямого родителя (в нашем случае тэг li. children()) и, как не сложно догадаться, служит для получения всех дочерних элементов. Из них нам надо убрать слой с классом collapsible, что делает метод not. Теперь осталось вызвать toggle, который либо спрячет, либо покажет ветку меню, в зависимости от ее видимости.
Ответ: как правильно вставить JAVASCRIPT в джумлу... <script type="text/javascript"><!--//--><![CDATA[//><!-- // Функция скрытия/открытия элемента ID которого передано в Myindex function myHideMenu(Myindex){ // Найти элемент на странице var el = document.getElementById( Myindex ); // Если он скрыт if (el.style.display == "none"){ // открыть el.style.display = "block"; }else{ // иначе скрыть el.style.display = "none"; } } //--><!]]></script> Тоесть функция переключает состояние указанного элемента.
Ответ: как правильно вставить JAVASCRIPT в джумлу... я имел ввиду это. - как это работает и как это вставить... "* ЯЗЫК: JavaScript $(".collapsible").click(function() { $(this).parent().children().not(".collapsible").toggle(); });" Добавлено через 2 часа 19 минут вопрос - попытался написать скрипт проверяющий состояние всех DIVов, так при "дохождении" скрипта до цикла окно как бы вешается - то есть выводится результат 0 137 и на этом все - белый экран и крутящийся значок загрузки страницы. ПОЧЕМУ? по идее должен быть выведен список всех дивов...??? <script type="text/javascript"><!--//--><![CDATA[//><!-- function myHideMenu(Myindex){ var el = document.getElementById( Myindex ); var i,divs; divs = document.getElementsByTagName("div"); if (el.style.display == "none") { el.style.display = "block"; }else{ el.style.display = "none"; } for (i=0; i <= divs.length; i=i+1) { document.write(i + " " + divs.length + " " + divs.style.display) } } //--><!]]></script> Добавлено через 5 часов 24 минуты выставляю на суд данный код НО !!! в данный момент IE никак не хочет понимать style="display: none"> кто знает подскажите Код (CODE): <SCRIPT LANGUAGE="JavaScript"> function myHideMenu(Myindex){ var el = document.getElementById( Myindex ); var i,divs; divs = document.getElementsByTagName("div"); for (i=0; i <= divs.length; i=i+1) { if (divs[i].id == Myindex){ if (el.style.display == "none"){ el.style.display = "block"; }else{ el.style.display = "none"; } }else{ if (el.id.indexOf(divs[i].id)==0){ }else{ if (divs[i].style.display == "block") { divs[i].style.display = "none"; } } } } } </script> код на странице примерно такой Код (CODE): li> <a href="javascript://" onclick="myHideMenu(10);return false;">Аллергические заболевания</a> <ul> <div id="10" style="display: none"> <li> <a href="javascript://" onclick="myHideMenu(101);return false;">Астма бронхиальная</a><br/> <div id="101" style="display: none"> Каждая строка </div> </li>....
Помогите плиз!!! Вот мне тоже нужно сделать разворачивающийся текст , когда при нажатии на ссылку подробнее разворачивается скрытый текст (как на торрентс ру), но я вот так и не смог как то вставить данные скрипты что тут приводились чтобы он работал....делаю все как написано, один блок скрипта вставляю в index.php, другой в html код страницы, но никакого скрытого текста не появляется. видно только неактивную надпись "нажмите + чтобы показать скрытый текст". видимо данный скрипт не работает с версией 1.5.8 . вот роясь в сети нашел мамбот nabToggleDisplay ( http://www.nab-design.de/devcorner/toggledisplay.html ), который якобы решает эту проблему, установил, включил, но никакой кнопки в редакторе не появляется и вообще непаонятно как его использовать. После установеи кнопки редактор просто не загружается, а при ее отключении и попытке в html вводить код напрямую он тоже не ставится. Может кто с ним сталкивался? Или может есть какой другой плагин для решения дааной проблемы???
<![CDATA[/ - вот это джумла сама приписывает к коду. пока я сам разбираюсь с таким же вопросом - но судя по всему, есть коды, которые джумла комментирует, чтобы они не работали. сталкивался с подобной проблемой когда Флеш хотел вставить в материал . надо найти какой-то фильтр и там отключить комментирование скрипта