|
|
|
| Честно говоря, в Jquery не сильна, писала, как могу.
Есть такой код:
<script>
$(document).ready(function(){
$(".toggle_container").hide();
$("h4.trigger").click(function(){
$(this).next().slideToggle("slow");
return false;
});
$("button").click(function(){
$(this).prev().slideToggle("slow");
return false;
});
});
</script>
<body>
<h4 class="trigger"><a href="#">Посмотреть текст</a></h4>
<div class="toggle_container">
<div class="block">
<h4>Заголовок</h4>
И здесь весь наш контент <br />
</div>
</div>
<button>Скрыть текст</button>
|
При нажатии на ссылку "Посмотреть текст", текст появляется. При нажатии на кнопку "Скрыть текст", он исчезает.
Мне надо кнопку "Скрыть текст" спрятать внутрь блока с текстом. Делаю так:
<script>
$(document).ready(function(){
$(".toggle_container").hide();
$("h4.trigger").click(function(){
$(this).next().slideToggle("slow");
return false;
});
$("button").click(function(){
$(this).prev().slideToggle("slow");
return false;
});
});
</script>
<body>
<h4 class="trigger"><a href="#">Посмотреть текст</a></h4>
<div class="toggle_container">
<div class="block">
<h4>Заголовок</h4>
И здесь весь наш контент <br />
</div>
<button>Скрыть текст</button>
</div>
|
При первом нажатии на "Посмотреть текст" и "Скрыть текст" все нормально.
Дальше я нажимаю на "Посмотреть текст" - и у меня текст не выезжает, кнопка, которая должна остаться, исчезает.
Скажите, пожалуйста, в чем моя ошибка. | |
|
|
|
|
|
|
|
для: Лена
(03.03.2011 в 10:50)
| | >Дальше я нажимаю на "Посмотреть текст" - и у меня текст не выезжает, кнопка, которая должна
>остаться, исчезает.
Не очень понятно, как же она должна остаться, если кнопка расположена в блоке <div class="toggle_container"> ? Она всегда будет исчезать, при нажатии на "Посмотреть текст"
PS При использовании библиотеки версии 1.4.2 и Opera - текст всегда уезжает и выезжает без сбоев. | |
|
|
|
|
|
|
|
для: cheops
(03.03.2011 в 11:45)
| | >PS При использовании библиотеки версии 1.4.2 и Opera - текст всегда уезжает и выезжает без сбоев.
Выезжает и уезжает нормально при первом разе, вы меня немного не так поняли.
Во второй раз текст не открывается, появляется только кнопка. Жму на кнопку - кнопка исчезает.
Уже помогли, но и вам спасибо. | |
|
|
|
|
|
|
|
для: Лена
(03.03.2011 в 10:50)
| |
$("button").click(function(){
$(this).parent().slideToggle("slow");
return false;
});
|
| |
|
|
|
|
|
|
|
для: AlexSol
(03.03.2011 в 12:06)
| | Спасибо огромное, я бы полдня в справочниках копалась, искала бы, что подойдет.
Есть еще один момент.
Когда текст во вложенном блоке большой и я жму на кнопку "Скрыть текст", текст свертывается и я уже нахожусь не на том месте, откуда читала.
Можно как-то сделать, чтобы при нажатии на кнопку "Скрыть текст" страница прокручивалась как бы назад, к тому месту, где я нажимала на ссылку "Посмотреть текст"? | |
|
|
|
|
|
|
|
для: Лена
(03.03.2011 в 12:53)
| |
var top;
$(document).ready(function(){
$(".toggle_container").hide();
$("h4.trigger").click(function(){
$(this).next().slideToggle("slow");
top = $(this).offset().top;
return false;
});
$("button").click(function(){
$(this).parent().slideToggle("slow");
$('html, body').stop().animate({scrollTop: top }, 1000);
return false;
});
});
|
| |
|
|
|
|
|
|
|
для: AlexSol
(03.03.2011 в 13:25)
| | Спасибо. Получается мы засекаем верхнюю текущую позицию элемента, а после прокручиваем окно к этой позиции.
В ИЕ и Mozilla работает нормально. В опере же перелистывается не к ссылке, а в самый вверх окна. | |
|
|
|