Схлопывающееся меню

12
dimmu-borgir
На сайте с 16.03.2009
Offline
170
2042

Добрый день.

Имеем кусок кода, который должен появляться/исчезать при нажатии(клик) на определенную кнопку. Как это реализовать?

Спасибо заранее.

4arger
На сайте с 17.12.2008
Offline
95
#1


<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('div.post input:submit').toggle(function(){
$(this).attr('value','Показать').prev().hide();
}, function(){
$(this).attr('value','Скрыть').prev().show();
});
});
</script>


<div class="post">
<p>text text text</p>
<input type="submit" value="Скрыть" />
</div>
D
На сайте с 14.01.2007
Offline
153
#2

4arger, я надеюсь, вы забыли добавить строчку:

"если у вас на сайте используется jquery"

4arger
На сайте с 17.12.2008
Offline
95
#3
Dinozavr:
4arger, я надеюсь, вы забыли добавить строчку:
"если у вас на сайте используется jquery"

насколько я знаю, jquery можно использовать на любых сайтах.

D
На сайте с 14.01.2007
Offline
153
#4
4arger:
насколько я знаю, jquery можно использовать на любых сайтах.

конечно можно :)

просто зачем вешать jquery, если в ДАННОМ примере можно спокойно без неё обойтись?


<script type="text/javascript">
function toggle()
{
if (document.getElementById("moy_text").style.display=="none")
{
document.getElementById("moy_text").style.display = "block";
}
else
{
document.getElementById("moy_text").style.display = "none";
}
}
</script>


<div>
<p id="moy_text" style="display:none">text text text</p>
<input type="button" onClick="toggle()" value="Скрыть" />
</div>

П.С. код не проверял

4arger
На сайте с 17.12.2008
Offline
95
#5
Dinozavr:
конечно можно :)
просто зачем вешать jquery, если в ДАННОМ примере можно спокойно без неё обойтись?

основные причины - мне удобнее + писанины меньше + подгонять код быстрее


<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('div.post input:submit').toggle(function(){
$(this).attr('value','Показать').prevAll().hide('slow');
}, function(){
$(this).attr('value','Скрыть').prevAll().show('slow');
});
});
</script>

<div class="post">
<p>text text text</p>
<p>text text text</p>
<p>text text text</p>
<input type="submit" value="Скрыть" />
</div>
T.R.O.N
На сайте с 18.05.2004
Offline
314
#6
4arger:
основные причины - мне удобнее + писанины меньше + подгонять код быстрее

и от 19 до 40 Кб говнокода к сайту... чудесное решение

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
dimmu-borgir
На сайте с 16.03.2009
Offline
170
#7

Dinozavr, а если вместо переменной moy_text стоит кусок кода, например как счетчик посещаемости?

D
На сайте с 14.01.2007
Offline
153
#8
dimmu-borgir:
Dinozavr, а если вместо переменной moy_text стоит кусок кода, например как счетчик посещаемости?

это как? вместо id javascript код?

4arger
На сайте с 17.12.2008
Offline
95
#9
T.R.O.N:
и от 19 до 40 Кб говнокода к сайту... чудесное решение

во-первых, http://code.jquery.com/jquery-1.4.2.min.js - 24КВ + несколько моих строчек.

во-вторых, я не вижу вашего решения. мне хотелось бы увидеть правильный код от трупрограммиста.

в-третьих, при отсутствии вариантов, любой рабочий вариант (мой вариант был первым) можно считать верным.

t0os
На сайте с 25.02.2008
Offline
64
#10
и от 19 до 40 Кб говнокода к сайту

Это почему говнокода? :)

Интернет сейчас более-менее быстрый, да и jquery кэшируется.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий