Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.06.2014, 17:28
Новичок на форуме
Отправить личное сообщение для Dionid Посмотреть профиль Найти все сообщения от Dionid
 
Регистрация: 11.06.2014
Сообщений: 9

Редирект после анимации
Задача следующая:
После нажатия на одну из ссылок (3 ссылки, имеющие общий класс ".links" и каждая свой href) должна произойти анимация блока box (<div class="box">), а после должен произойти редирект на значение href ссылки, на которую был произведен клик. Сам box должен вернутся в прежнюю позицию.
Пока нашел способ прописать направление ссылки через атрибут value
Мой код примерно такой:
HTML
<ul>
	<li><a class="links" href="#" value="www/A.html">TEXT</a></li>
	<li><a class="links" href="#" value="www/A.html">TEXT</a></li>
	<li><a class="links" href="#">TEXT</a></li>
</ul>
<div class="box" id="box"></div>

JS
$('.links').click(function(){
    $('#box').animate({"left": "-10"},1000, function(){
      var n = document.getElementByClassName('links');
      document.location = n.value
  })
    $('#box').animate({"left": "значение прежней позиции"}, 5000)
});

Проблемы:
1) Происходит анимация, а после происходит редирект на значение undefined (впринципе, я это ожидал). Значит, нужен способ получить ссылку через другой атрибут, но какой, если href переводит на другую страницу до окончания анимации?
2) Эта функция выводит атрибут всех ссылок, а в моем случае нужно лишь той, на которую был произведен клик
3) Нужно после завершения анимации вернуть box в обратную позицию. Возможно ли сделать это без добавления строчки $('#box').animate({"left": "значение прежней позиции"}, 5000)
P.S.
Я понимаю, что код некорректен и есть возможность реализовать это по-другому, но пока я не имею достаточных знаний в Js и Jq, а запросы в гугле не вывели нужного результата

Последний раз редактировалось Dionid, 11.06.2014 в 17:48.
Ответить с цитированием
  #2 (permalink)  
Старый 11.06.2014, 18:08
Новичок на форуме
Отправить личное сообщение для Dionid Посмотреть профиль Найти все сообщения от Dionid
 
Регистрация: 11.06.2014
Сообщений: 9

Премного благодарен пользователю рони.
Конечный код:
JS
$('.links').click(function(event){
      event.preventDefault()
      var link = this.href
      $('#box').animate({"left": "10"}, function(){
        document.location = link
      });
    })

HTML
<a class="links" href="www/A.thml">TEXT</a>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редирект после анимации Dionid jQuery 6 11.06.2014 19:36
Возврат значения функции после завершения анимации (затухания) grego jQuery 5 16.04.2013 22:25
jquery анимация и редирект после SunYang Events/DOM/Window 5 17.05.2012 12:10
Выполнить функцию после окончания всей анимации De-Luxis jQuery 2 24.11.2011 17:11
После анимации очистить очередь virtus jQuery 2 19.12.2009 11:35