Добавляем скрытый блок на сайте со ссылкой Развернуть/Свернуть
Допустим скрытый блок находится в диве:
<div id="k2ModuleBox127" class="k2ItemsBlock"> [Здесь находится скрытая информация] <div>
Изначально он скрыт, т.е. имеет такое свойство:
#k2ModuleBox127 {
display: none;
}Добавляем JavaScript следующего содержания:
<a class="ref" href="javascript:void(0)"
onclick="showHide('k2ModuleBox127')"><span align="left">
<div id="show-rss">Показать rss</div>
</span></a><script>function showHide(element_id) {
//Если элемент с id-шником element_id существует
if (document.getElementById(element_id)) {
//Записываем ссылку на элемент в переменную obj
var obj = document.getElementById(element_id);
//Если css-свойство display не block, то:
if (obj.style.display != "block") {
obj.style.display = "block"; //Показываем элемент
var name_input = document.getElementById('show-rss');
name_input.innerText="Скрыть rss";
}
else { obj.style.display = "none"; //Скрываем элемент
var name_input = document.getElementById('show-rss');
name_input.innerText="Показать rss";
}
}
//Если элемент с id-шником element_id не найден, то выводим сообщение
// else alert("Элемент с id: " + element_id + " не найден!");
}
</script>
Что он делает?
Он показывает ссылку Показать rss, при нажатии на которую свойство блока .k2ModuleBox127 изменяется на видимый: obj.style.display != "block"
А сама ссылка при этом заменяется на Скрыть rss.
Это очень удобно когда на странице нужно вывести какой-то блок скорее для поисковых машин, чем для людей. Хотя бывает очень нужным и для вывода дополнительной информации для людей, чтобы не грузить их сразу большим количеством инфы на странице.
Покажем на примере сайта hram-ua.com.
Например, нам нужно скрыть блок .div k2CategoriesListBlock (см. скриношт, блок выделен красным):

Для начала нам нужно добавить убедится, что такой блок один единственный в теле страницы, для этого нажимаем cntrl+F и ищем имя класса: k2CategoriesListBlock.
Убеждаемся, что он один:

Теперь вставляем наш css и скрипт, с учетом правок:
#k2CategoriesListBlock {
display: none;
}Добавляем JavaScript следующего содержания:
<a class="ref" href="javascript:void(0)"
onclick="showHide('k2CategoriesListBlock')">
<span align="left"><div id="show-rss">Показать rss</div></span></a>
<script> function showHide(element_id) {
//Если элемент с id-шником element_id существует
if (document.getElementById(element_id)) {
//Записываем ссылку на элемент в переменную obj
var obj = document.getElementById(element_id);
//Если css-свойство display не block, то:
if (obj.style.display != "block") {
obj.style.display = "block"; //Показываем элемент
var name_input = document.getElementById('show-rss');
name_input.innerText="Скрыть rss";
}
else { obj.style.display = "none"; //Скрываем элемент
var name_input = document.getElementById('show-rss');
name_input.innerText="Показать rss";
}
}
//Если элемент с id-шником element_id не найден, то выводим сообщение
// else alert("Элемент с id: " + element_id + " не найден!");
}
</script>
В общем, видим, что все, что нам пришло, это заменит в скрипте k2ModuleBox127 на k2CategoriesListBlock и убедиться, что такой блок один в коде (что кстати и должно быть в правильной верстке: id должен однозначно идентифицировать блок в отличие от class).
Для внедрения на сайт, создаем файл http://hram-ua.com/js_show_hide_links.php
Для проверки можем внедрить в него строки:
<div id="k2CategoriesListBlock" class="k2ItemsBlock"> [Здесь находится скрытая информация] </div>
Теперь находим главную страницу сайта в движке джумла:






И вставляем строку:
<?php echo file_get_contents("http://hram-ua.com/js_show_hide_links.php");?>

Теперь чистим кэш:


- Для комментирования войдите или зарегистрируйтесь
