Появление и исчезновения объекта с анимацией - как правильно
Подскажите пожалуйста нужно чтобы объект появлялся с анимацией «bounceIn» через секунд 5, а когда нажимаешь на кнопочку .close он исчезал тоже с анимацией только с bounceOut.
Знаний очень мало по js. Накидал скрипт, он с горем пополам работает, но мне кажется что-то тут не правильно или можно было сделать умнее. Подскажите плиз в чем моя ошибка? :help: :help: <style> .hovr{ width:150px; height:150px; display:none; } .romb{ width:150px; height:150px; background: red; } .close{ width:50px; height:50px; } .animated.bounceIn, .animated.bounceOut { -webkit-animation-duration: .75s; animation-duration: .75s; } @keyframes bounceIn { from, 20%, 40%, 60%, 80%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); } 0% { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } 20% { -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1); } 40% { -webkit-transform: scale3d(.9, .9, .9); transform: scale3d(.9, .9, .9); } 60% { opacity: 1; -webkit-transform: scale3d(1.03, 1.03, 1.03); transform: scale3d(1.03, 1.03, 1.03); } 80% { -webkit-transform: scale3d(.97, .97, .97); transform: scale3d(.97, .97, .97); } to { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } .bounceIn { -webkit-animation-name: bounceIn; animation-name: bounceIn; } @keyframes bounceOut { 20% { -webkit-transform: scale3d(.9, .9, .9); transform: scale3d(.9, .9, .9); } 50%, 55% { opacity: 1; -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1); } to { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } } .bounceOut { -webkit-animation-name: bounceOut; animation-name: bounceOut; } </style> <script src="https://code.jquery.com/jquery-3.0.0.min.js"></script> <div class="hovr"> <div class="romb"><button class="close">X</button></div> </div> *!* <script> setTimeout(function(){$('.hovr').toggleClass('animated bounceIn').fadeIn('fast')}, 3000); $(document).ready(function(){ $('.close').click(function(){ $('.hovr').removeClass( "animated bounceIn").addClass('animated bounceOut'); setTimeout(function(){$('.hovr').attr("style", "display:none");}, 800 ); }); }); </script> */!* |
An1984tonn,
для этого есть тема http://javascript.ru/forum/misc/ делайте макет, и Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Часовой пояс GMT +3, время: 11:51. |