Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   задержка после действия,или очередность (https://javascript.ru/forum/dom-window/42002-zaderzhka-posle-dejjstviya-ili-ocherednost.html)

drkrol 09.10.2013 03:24

задержка после действия,или очередность
 
есть код:
$('.popup__close').click(function() {
$('.popup').addClass('animated flipOutY');
    p.css('display', 'none');
})

как сделать что бы в начале прошла анимация flipOutY а через секунду или сразу p.css('display', 'none')?а у меня получается что анимации нет,окно сразу закрывается...

весь код:
<script type="text/javascript">
p = $('.popup__overlay')
$('#popup__toggle').click(function() {
    p.css('display', 'block')
})
p.click(function(event) {
    e = event || window.event
    if (e.target == this) {
        $(p).css('display', 'none')
    }
})
$('.popup__close').click(function() {
$('.popup').addClass('animated flipOutY'); 
setInterval('p.css('display', 'none')', 1000);
})
</script>


P.s.
$('.popup__close').click(function() {
$('.popup').addClass('animated flipOutY'); 
setInterval('p.css('display', 'none')', 1000);
})

Не помогает.попап почему то даже не открывается...

ksa 09.10.2013 08:29

Цитата:

Сообщение от drkrol
как сделать что бы в начале прошла анимация flipOutY а через секунду или сразу p.css('display', 'none')?

Как вариант...
http://jquery.page2page.ru/index.php...ун кций
Есть еще это
http://api.jquery.com/jQuery.when/#jQuery-when1

Ну и setTimeout() никто еще не отменял...

drkrol 09.10.2013 09:59

Это конечно всё хорошо и безусловно спасибо вам!но есть но...я с js вообще не знаком, и то что вы дали мне ссылки...Яж там вообще ничего не понимаю.Вы бы не могли дать код?Заранее спасибо

рони 09.10.2013 10:41

drkrol,
может вам анимировать не классом а функцией animate
пример тут разбор полётов здесь

drkrol 09.10.2013 10:45

мою задачу так сложно реализовать что вы мне предлагаете делать анимацию через js?Да что тут такого?

drkrol 09.10.2013 11:04

ВОООООООТ
$('.popup__close').click(function() {
$('.popup').addClass('animated flipOutY')
setTimeout(function() { p.css('display', 'none') }, 1000);
});
в начале вроде всё норм...Но когда я хочу опять открыть попап то у меня он сразу закрывается...

рони 09.10.2013 11:19

drkrol,
сделайте макет -- пример с возможностью запуска
[HTML run][/HTML]
... возможно где-то нехватает отмены всплытия

drkrol 09.10.2013 18:40

не понял...можно по подробнее.что такое html run,какой макет...?

если так подумать то когда я нажимаю 1ый раз то код идет с начала.а когда уже 2 раз то код повторяет последние действие которое было.мне нужо что то типа end..что бы код начал с начала воспроизводиться

рони 09.10.2013 18:46

drkrol,
живой пример тут ... а в прочем убирайте класс иначе
Цитата:

Сообщение от drkrol
$('.popup').addClass('animated flipOutY');

эта строка сработает 1 раз потому что второй раз добавлять нечего классы уже добавлены

drkrol 09.10.2013 19:10

а нельзя по завершению удалить класс.и получается что когда я буду нажимать 2ой раз то новый класс опять добавится...или я не так мыслю.А других вариантов нет больше?


Часовой пояс GMT +3, время: 11:32.