Плавное исчезание, якорь, обновление страницы
Сразу несколько вопросов... (jQuery)
1. Мне нужно сделать плавное исчезание текста внутри div'a, а потом на его месте плавное появление нового текста. Всё, что я пока смог это:
$("#deshead").text("Новое значение");
- очень резко сменяется, а нужно плавно как при fadeIn fadeOut...чтоб ещё можно было задать время исчезания/появления.Обратите внимание, что речь идёт о замене текста внутри элемента(тега div), а не о замене самого элемента(тега div). 2. <div id="info"> Большой текст [Кнопка которая прячет #info и показывает #drugoeinfo ] </div> <div id="drugoeinfo"> Другой большой текст </div> Оба текста большие => имеют полосу прокрутки. Вопрос: Как сделать, чтобы при нажатии на кнопку, я резко попадал на самый верх "Другого большого текст". А то после нажатия я остаюсь внизу, и чтобы прочитать начало текста, приходиться проматывать вверх полосу прокрутки :( 3. Посмотрите на HTML-код в задаче 2. Теперь давайте представим, что я нажал на кнопку и получил "Другой большой текст". Если я обновлю страницу, то передо мной предстанет "Большой текст". Как сделать, чтобы после обновления страницы, передо мной оставался "Другой большой текст"? |
// 1),2),3)
$("#drugoeinfo").css("display", "none"); // скрываем второй текст
// 3) только для третьего пункта
if (document.cookie.length > 0) { // проверяем куки
var cookies = document.cookie.split(";");
var cookieArray = new Array();
for (var i = 0; i < cookies.length; i++) {
var cookiei =cookies[i].split("=");
cookieArray[unescape(cookiei[0])] = unescape(cookiei[1]);
}
if (cookieArray['info'] == "2"){ // есть куки info=2 (второй текст)
$("#info").remove(); // прячем первый текст
$("#drugoeinfo").css("display", "block"); // показываем второй текст
}
}
// /3) конец только для третьего пункта
// 1),2),3)
$("#second").click(function(){ // нажимаем кнопку
$("#info").fadeOut("slow", function () { // медленно скрываем первый текст
//$("#info").remove();
$("#drugoeinfo").text("Новое значение"); // 1) только для первого пункта
$("#drugoeinfo").fadeIn("slow"); // медленно показываем второй текст
document.cookie = escape("info=2;"); // 3) только для третьего пункта запись куки
});
});
<div id="info"> Большой текст <button id="second">другой</button> </div> <div id="drugoeinfo"> Другой большой текст </div> |
NikolasGrad,
По поводу пункта 1 - большое спасибо. За второй пункт спасибо пока не могу сказать :( Не работает... Очень бы хотелось ещё решить проблему из пункта 2. А то если этого не сделать, то пункт 1 и 3 вообще станут неактуальными. |
С пунктом 3 разобрался. Осталось только:
3. Посмотрите на HTML-код в задаче 2. Теперь давайте представим, что я нажал на кнопку и получил "Другой большой текст". Если я обновлю страницу, то передо мной предстанет "Большой текст". Как сделать, чтобы после обновления страницы, передо мной оставался "Другой большой текст" |
Ещё раз повторюсь, чтобы никто не путался. Имеется <div id="info"> Текст 1 <button id="second">Показать Текст 2</button> </div> <div id="drugoeinfo"> Текст 2 <button id="second">Показать Текст 1</button> </div> Текст 1 - показан. Текст 2 - скрыт (по умолчанию). Действие: Нажимаем кнопку "Показать Текст 2" и нам показывается "Текст 2", а "Текст 1" - скрывается. Как есть сейчас: Если после этого действия, произвести обновление страницы, то мы снова попадём в изначальное положение (Текст 1 - показан, Текст 2 - скрыт) Как надо: Чтобы, если мы уже нажимали кнопку, то после обновления страницы всё было также, как после нажатия на кнопку (Текст 1 - скрыт, Текст 2 - показан). Аналогично и для ситуации "Показать Текст 1". |
| Часовой пояс GMT +3, время: 06:37. |