Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.10.2012, 03:32
Интересующийся
Отправить личное сообщение для Mikle1990 Посмотреть профиль Найти все сообщения от Mikle1990
 
Регистрация: 03.08.2009
Сообщений: 10

Плавное исчезание, якорь, обновление страницы
Сразу несколько вопросов... (jQuery)

1. Мне нужно сделать плавное исчезание текста внутри div'a, а потом на его месте плавное появление нового текста. Всё, что я пока смог это:
$("#deshead").text("Новое значение");
- очень резко сменяется, а нужно плавно как при fadeIn fadeOut...чтоб ещё можно было задать время исчезания/появления.
Обратите внимание, что речь идёт о замене текста внутри элемента(тега div), а не о замене самого элемента(тега div).

2.
<div id="info">
Большой текст
[Кнопка которая прячет #info и показывает #drugoeinfo ]
</div>
<div id="drugoeinfo">
Другой большой текст
</div>

Оба текста большие => имеют полосу прокрутки.
Вопрос: Как сделать, чтобы при нажатии на кнопку, я резко попадал на самый верх "Другого большого текст".
А то после нажатия я остаюсь внизу, и чтобы прочитать начало текста, приходиться проматывать вверх полосу прокрутки

3. Посмотрите на HTML-код в задаче 2. Теперь давайте представим, что я нажал на кнопку и получил "Другой большой текст". Если я обновлю страницу, то передо мной предстанет "Большой текст". Как сделать, чтобы после обновления страницы, передо мной оставался "Другой большой текст"?
Ответить с цитированием
  #2 (permalink)  
Старый 15.10.2012, 09:28
Аватар для NikolasGrad
Аспирант
Отправить личное сообщение для NikolasGrad Посмотреть профиль Найти все сообщения от NikolasGrad
 
Регистрация: 12.04.2012
Сообщений: 49

// 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, 15.10.2012 в 10:58.
Ответить с цитированием
  #3 (permalink)  
Старый 17.10.2012, 11:28
Интересующийся
Отправить личное сообщение для Mikle1990 Посмотреть профиль Найти все сообщения от Mikle1990
 
Регистрация: 03.08.2009
Сообщений: 10

NikolasGrad,
По поводу пункта 1 - большое спасибо.

За второй пункт спасибо пока не могу сказать
Не работает...

Очень бы хотелось ещё решить проблему из пункта 2. А то если этого не сделать, то пункт 1 и 3 вообще станут неактуальными.

Последний раз редактировалось Mikle1990, 18.10.2012 в 22:48.
Ответить с цитированием
  #4 (permalink)  
Старый 18.10.2012, 22:47
Интересующийся
Отправить личное сообщение для Mikle1990 Посмотреть профиль Найти все сообщения от Mikle1990
 
Регистрация: 03.08.2009
Сообщений: 10

С пунктом 3 разобрался. Осталось только:
3. Посмотрите на HTML-код в задаче 2. Теперь давайте представим, что я нажал на кнопку и получил "Другой большой текст". Если я обновлю страницу, то передо мной предстанет "Большой текст". Как сделать, чтобы после обновления страницы, передо мной оставался "Другой большой текст"
Ответить с цитированием
  #5 (permalink)  
Старый 19.10.2012, 09:07
Интересующийся
Отправить личное сообщение для Mikle1990 Посмотреть профиль Найти все сообщения от Mikle1990
 
Регистрация: 03.08.2009
Сообщений: 10

Ещё раз повторюсь, чтобы никто не путался.
Имеется
<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".

Последний раз редактировалось Mikle1990, 19.10.2012 в 09:09.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Select, при выборе сразу происходит обновление страницы с выбранным параметром MCB Общие вопросы Javascript 9 03.10.2012 23:33
load и динамическое обновление страницы IONEX AJAX и COMET 12 08.07.2012 20:57
Обновление страницы AndreyS AJAX и COMET 6 16.05.2011 15:55
как сделать плавное затухание страницы magistr_bender Элементы интерфейса 1 18.03.2009 14:34
Цикличное обновление страницы Roman_kstu Общие вопросы Javascript 7 29.05.2008 05:55