Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   При нажатии появляется блок (https://javascript.ru/forum/misc/25077-pri-nazhatii-poyavlyaetsya-blok.html)

Изучаю_JS 24.01.2012 18:34

При нажатии появляется блок
 
Привет всем.
Такой вопрос, как сделать чтобы при нажатии ссылки появляется определенный блок прямо под ссылкой ?
Пример:

<a href="">Показать</a>
после нажатия прямо под ним:
<div class="myclass">
content
</div>

Пожалуйста помогите разобраться

bohdantheone 24.01.2012 19:13

<a onclick="toggle(hidden_content)">Ссылочка</a>
<div id="hidden_content" style="display: none;">Вот он я</div>
<script>
function toggle(el) {
el.style.display = (el.style.display == 'none') ? '' : 'none'
}
</script>

Изучаю_JS 24.01.2012 19:34

bohdantheone, Спасибо работает.

Изучаю_JS 25.01.2012 16:47

Извините, а как ее записать на куки ? чтобы если пользователь открыл ее, то она так и остается, а если он закрыл ее то остается закрытым...
я читал статьи о куках, но ничего не смог сделать :( пожалуйста сделайте этот скрипт чтобы он работал на куках :(

melky 25.01.2012 17:27

легче через локальное хранилище.


<a href="#">Ссылочка</a>
<div id="hidden_content">Вот он я</div>

<script>
el = document.getElementById('hidden_content');
key = 'vis';

el.style.display = +localStorage.getItem(key) ? "":"none";

document.links[0].onclick = function() {
     var show = el.style.display == 'none';
     el.style.display = show ? '' : 'none';
     localStorage.setItem(key, +show);
}
</script>

Dobriy 25.01.2012 18:07

Я этим пользуюсь
<script>
var show;

function look(type)
{
param=document.getElementById(type);
if(param.style.display == "none")
{
if(show) show.style.display = "none";
param.style.display = "block";
show = param;
}
else param.style.display == "none";
}
</script>

<a onclick="look('введи id'); return false;" href="#">Текст</a>
<div style="display:none;padding-top:10px;" id="id из ссылки">Здесь всталяй то, что будет скрываться или раскрываться</div>

Таких ссылок можно делать множество. Только не получается в раскрывающемся блоке сделать раскрывающиеся подблоки по томуже сценарию(((((

Изучаю_JS 25.01.2012 19:38

melky, круто, но он как будет работать ? он как и куки будет обновляться ? в смысле когда чистим куки то все скрипты на куках обновляются, а этот тоже так же ?

Изучаю_JS 25.01.2012 19:38

И скажите пожалуйста, спрашиваю чисто ради интереса, почему этот вариант лучше куки ?

melky 25.01.2012 19:40

почти - нельзя только посмотреть содержание хранилища. почитайте в интернете, почему это лучше кук. одна причина - это нововведение, значит это нужно использовать (оно уже давно появилось в браузерах) ... и ещё, содержимое локального хранилища не пересылается при запросах => запросы должны идти быстрее.

Изучаю_JS 25.01.2012 21:41

melky, Понятно, спасибо за помощь!


Часовой пояс GMT +3, время: 23:58.