Вывод функции Javascript в отдельном посте с помощью тега <div>
Здравствуйте уважаемые форумчане!
Нужна ваша помощь. В блоге на вордпресс хочу сделать спойлер с помощью: <!-- код спойлера --> <script language="javascript"> function toggle() { var ele = document.getElementById("toggleText"); var text = document.getElementById("displayText"); if(ele.style.display == "block") { ele.style.display = "none"; text.innerHTML = "Показать решение"; } else { ele.style.display = "block"; text.innerHTML = "Закрыть"; } } </script> В статье: <a href="javascript:toggle();" id="displayText">Показать решение</a> <div id="toggleText" style="display: none;">Сам текст в спойлере... </div> Все работает при добавлении 1 спойлера в записи, мне нужно сделать 10. Подскажите пожалуйста КАК? Спасибо. |
Цитата:
В теме скорей всего подключена либа jQuery, с ней код поудобней писать: <a class="displayText">Показать решение</a> <div class="toggleText" style="display:none">Сам текст в спойлере... </div> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script> $('.displayText').click(function() { toggle(this) }); function toggle(displayText) { displayText = $(displayText); var toggleText = displayText.next('.toggleText'); if (toggleText.is(':visible')) { toggleText.hide(); displayText.html('Показать решение'); } else { toggleText.show(); displayText.html('Закрыть'); } } </script> jQuery конечно второй экземпляр подключать не нужно. Если эта либа не используется - можно без особых проблем переписать на чистом js. |
danik.js, спасибо за ответ, но может Вы знаете как расшифровать:
Цитата:
|
Цитата:
|
+1 . Иду пробовать.
|
Демонстрация возможности
http://learn.javascript.ru/play/6uFHuc |
Что не так?
<!-- код спойллера --> <script language="javascript"> function toggle() { var ele = document.getElementById("toggleText"); var text = document.getElementById("displayText"); if(ele.style.display == "block") { ele.style.display = "none"; text.innerHTML = "Показать решение"; } else { ele.style.display = "block"; text.innerHTML = "Закрыть"; } } </script> 1) <a href="javascript:toggle(1);" id="displayText1">Показать решение</a> <div id="toggleText" style="display: none;">Сам текст в спойлере... </div> 2) <a href="javascript:toggle(2);" id="displayText2">Показать решение</a> <div id="toggleText" style="display: none;">Сам текст в спойлере... </div> Цитата:
|
Poznakomlus, спасибо за ответ.
А как сделать "Посмотреть ответ", чтоб отображалось ссылкой. И куда вставлять <style> .spoiler>input { position: absolute; top: -9999px; left: -9999px; } .spoiler>label { cursor: pointer; } .spoiler>label:before { content:"Показать решение"; } .spoiler>input:checked ~ label:before { content:"Закрыть"; } .spoiler>input:checked ~ .sp-content { display: block; } .spoiler>.sp-content { display: none; border: 1px solid #d5d5d5; background-color: #f5f5f5; padding: 5px; } </style> И этот код <div class="spoiler"> <input type="checkbox" id="sp1" /> <label for="sp1"></label> <div class="sp-content">Здесь будет наш текст...</div> </div> <div class="spoiler"> <input type="checkbox" id="sp2" /> <label for="sp2"></label> <div class="sp-content">Здесь будет наш текст...</div> </div> Спасибо. |
Цитата:
|
http://learn.javascript.ru/play/No5aAb
смотрите решение на js второе <head> <style> .link { border:none; background-color: transparent; text-decoration: underline; color: #476C8E; display: block; outline: none; cursor: pointer; } .sp-text { display: none; border: 1px solid #d5d5d5; background-color: #f5f5f5; padding: 5px; } </style> </head> <body> <input type="button" onclick="spoiler(this)" value="Показать решение" class="link sp1"> <div class="sp-text sp1">Ваш текст ...</div> <input type="button" onclick="spoiler(this)" value="Показать решение" class="link sp2"> <div class="sp-text sp2">Ваш текст ...</div> <script> var spoiler = function (el) { var divCls = "div.sp-text." + el.className.split("link ")[1], sptext = document.querySelector(divCls); if (sptext.style.display == "") { sptext.style.display = "block"; el.value = "Закрыть"; } else { sptext.style.display = ""; el.value = "Показать решение"; } }; </script> </body> |
Часовой пояс GMT +3, время: 09:30. |