В настоящее время я пытаюсь создать панель, которую я сделал для анимации на экране. т.е. когда я нажимаю на кнопку, она анимируется на экране, и когда я снова нажимаю ту же кнопку, она оживляется на экране. Но что происходит, панель на загрузке страницы находится на экране. Когда я нажимаю кнопку, она анимирует мелкий экран, и когда я снова нажимаю на кнопку, она никогда не оживляется на экране. Я не уверен, что я делаю неправильно... Вот мой код:
$(document).on('pageinit','#sellbookpage',
function()
{
flagclass = true;
//button that gets clicked
$('#SignUpLink').click(function()
{
if(flagclass)
{
$('#signinput').addClass("animated fadeOutDownBig");
flagclass = false;
}
else
{
$('#signinput').addClass("animated fadeOutUpBig");
flagclass = true;
}
}););
В основном функциональность, которую я ищу, заключается в том, чтобы панель отображалась на экране и выводилась из экрана, когда я нажимаю кнопку.
Попробуйте что-то вроде этого
$(document).ready(function(){
$('#sellbookpage').click(function(e){
e.preventDefault();
var test = $('#signinput');
if(test.hasClass('showed')) {
test.removeClass('showed').fadeOut();
}else{
test.addClass('showed').fadeIn();
}
})
})
и добавьте в класс ввода, если он отображается при загрузке страницы :)
У меня была такая же точная проблема. Я нашел эту статью в блоге, которая разбивает ее, и как ее решить.
Вы используете функцию jQuery one() для обнаружения конца анимации css3. Затем вы удалите любые классы animated.css, такие как анимация и т.д....
http://blog.teamtreehouse.com/using-jquery-to-detect-when-css3-animations-and-transitions-end
Таким образом, ваш код будет выглядеть так
$('#signinput').addClass("animated fadeOutDownBig")
.one('webkitAnimationEnd oanimationend msAnimationEnd animationend',
function(e) {
$(this).removeClass('animated fadeOutDownBig');
}
);