slideToggle (поочередное открытие ссылок со скрытым текстом)
function MovingDiv(el) {
var elem=document.getElementById(el);
for (i=1;i<=4;i++){
if (i!=elem){
$('#'+i).slideUp("slow");
//document.getElementById(i).style.display='none';
}
}
$(elem).slideToggle("slow");
$(this).toggleClass("active");
}
<div><a href="#" onclick="MovingDiv('1'); ">Кликни сюда1</a></div>
<div id="1" style="display:none;">Текст скрытый1</div><br><br>
<div><a href="#" onclick="MovingDiv('2'); ">Кликни сюда2</a></div>
<div id="2" style="display:none;">Текст скрытый2</div><br><br>
<div><a href="#" onclick="MovingDiv('3'); ">Кликни сюда3</a></div>
<div id="3" style="display:none;">Текст скрытый3</div><br><br>
<div><a href="#" onclick="MovingDiv('4'); ">Кликни сюда4</a></div>
<div id="4" style="display:none;">Текст скрытый4</div>
хочу реализовать поочередное открытие ссылок. Но при повторном нажатии на ссылку (чтоб закрыть её) она закрывается и открывается заново. Я так понимаю это изза SlideUp... Подскажите как мне это правильнее реализовать. P.s. JS только начинаю изучать... |
Непонятно алгоритм.
При нажатии на любую из ссылок должны открываться все ссылки по очередно? или только та на которую нажали? |
вариант1:
<script src="http://code.jquery.com/jquery-1.6.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$('dl dt a').click(function(event) {
$(event.target).parent('dt').next('dd').slideToggle(300);
event.peventDefault();
});
});
</script>
<dl>
<dt><a href="#">click</a></dt>
<dd>Текст скрытый1</dd>
<dt><a href="#">click</a></dt>
<dd>Текст скрытый2</dd>
<dt><a href="#">click</a></dt>
<dd>Текст скрытый3</dd>
<dl>
<style type="text/css">dd {display: none;}</style>
вариант2:
<script src="http://code.jquery.com/jquery-1.6.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$('dl dt a').click(function(event) {
$(event.target).parent('dt').next('dd').slideToggle(300).siblings('dd').hide();
event.peventDefault();
});
});
</script>
<dl>
<dt><a href="#">click</a></dt>
<dd>Текст скрытый1</dd>
<dt><a href="#">click</a></dt>
<dd>Текст скрытый2</dd>
<dt><a href="#">click</a></dt>
<dd>Текст скрытый3</dd>
<dl>
<style type="text/css">dd {display: none;}</style>
|
Цитата:
... monolithed похоже 2 вариант самое то. Спасибо |
А как теперь закрыть скрытый текст, щёлкнув по ссылке "Закрыть", которая расположена как раз в этом скрытом тексте.
Т.е. нужно реализовать 2 варианта закрытия скрытого текста... |
с закрытием скрытого текста разобралась.
Почему так не работает :
<html>
<head>
<title>Главная страница сайта</title>
<head>
<script src="http://code.jquery.com/jquery-1.6.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$('table tr td a.slide').click(function(event) {
$(event.target).parent('td').next('div').slideToggle(500).siblings('div').hide();
});
});
</script>
</head>
<body>
<table>
<tr>
<td>
<a href="#"><!--какая то ссылка-->
<img src="pic.jpg" >
</a>
</td>
<td>
<!--нажатием на эту ссылку должен открываться и закрываться скрытый текст-->
<a class="slide" href="#" title="Подробнее..." > Показать скрытый текст
</a>
</td>
</tr>
</table>
<div style="display:none;;">
<p>
Скрытый текст
</p>
<div class="columns">
<div class="column1">
<a href="#"><!--какая то ссылка-->
Фотографии
</a>
</div>
<div class="column2" align="right">
<a href="#">Свернуть</a><!--нажатием на эту ссылку должен закрываться скрытый текст-->
</div>
</div>
</div>
</body>
</html>
|
ну подскажите же:cray:
|
| Часовой пояс GMT +3, время: 10:24. |