Плавное появление и исчезновение двух блоков при выборе одного из них
Уважаемые знатоки,
наглядный пример тут http://fsd564.bget.ru/example2/index.html Необходимо сделать, что бы при выборе варианта "Выбор 1" плавно раскрывался "БЛОК 1", но при выборе варианта "Выбор 2" плавно раскрывался "БЛОК 2", а "БЛОК 1" при этом закрывался. И обратно - при выборе варианта "Выбор 1" закрывался "БЛОК 2" и раскрывался "БЛОК 1"
<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#show').click(function(){
$('#layer').show('slow');
});
$('#show2').click(function(){
$('#layer2').show('slow');
});
});
</script>
<input type="radio" name="type" value="1" id="show">Выбор 1
<input type="radio" name="type" value="2" id="show2">Выбор 2<br>
<div ID="layer" style="display:none;">БЛОК 1</div>
<div ID="layer2" style="display:none;">БЛОК 2</div>
Дополнение: если можно, то желательно что бы изначально при открытии страницы уже стоял указатель на Выборе 1 с раскрытым "БЛОК 1" |
добавьте .hide(); в функции клика
|
animhotep
нельзя ли поподробнее, в javascript не разбираюсь совсем |
<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#show').click(function(){
$('#layer2').hide();
$('#layer').show('slow');
});
$('#show2').click(function(){
$('#layer').hide();
$('#layer2').show('slow');
});
});
</script>
<input type="radio" name="type" value="1" id="show">Выбор 1
<input type="radio" name="type" value="2" id="show2">Выбор 2<br>
<div ID="layer" style="display:none;">БЛОК 1</div>
<div ID="layer2" style="display:none;">БЛОК 2</div>
|
animhotep премного благодарен за помощь:)
|
animhotep
Появилась проблема, при изменении типа выбора вариантов с "radio" на "select" второй код отказывается работать в Хроме (при этом он работает в Опере и Мозиле) первый вариант http://fsd564.bget.ru/example2/index.html - работает везде вот второй вариант http://fsd564.bget.ru/example2/index2.html - не хочет работать в Хроме.
<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#show').click(function(){
$('#layer2').hide();
$('#layer3').hide();
$('#layer').show('slow');
});
$('#show2').click(function(){
$('#layer').hide();
$('#layer3').hide();
$('#layer2').show('slow');
});
$('#show3').click(function(){
$('#layer').hide();
$('#layer2').hide();
$('#layer3').show('slow');
});
});
</script>
<select name="email_known" style="width:150px" >
<option selected="selected" value="Не выбрано" id="choice"> Выберите </option>
<option value="1" id="show">Выбор 1</option>
<option value="2" id="show2">Выбор 2</option>
<option value="3" id="show3">Выбор 3</option>
</select><br>
<div ID="layer" style="display:none;">БЛОК 1</div>
<div ID="layer2" style="display:none;">БЛОК 2</div>
<div ID="layer3" style="display:none;">БЛОК 3</div>
Думаю проблема в click(function() , наверно ее нужно заменить на функцию аналогичную select, но как это сделать я не представляю |
подход нужен другой. у селекта есть событие при изменении
$("select").change(function () {
alert ( $(this).val() ); //здесь будет значение выбранного пункта 1,2,3
});
|
animhotep спасибо еще раз, разобрался
|
| Часовой пояс GMT +3, время: 22:05. |