2015-05-27 11 views
0

Так что я пытаюсь сделать некоторые анимации в личном проекте, над которым я работаю, но у меня есть новый для jquery и им, не понимая, как это работает. Я изучал с помощью подключаемого модуля jquery.transit (http://ricostacruz.com/jquery.transit/), и я попытался заставить его работать, но что-то не хватает. Документация не кажется такой большой, потому что я не вижу хороших примеров переходов, а просто фрагментов jquery, которые не кажутся завершенными.Работа с плагинами jQuery

На данный момент у меня есть этот код, который я пытался подключить к моим заголовкам, а анимация работает сама по себе, но работает только один раз и перестает работать после начального наведения. Как я могу заставить это работать? Код:

$('.navlinks').hover(function(){ 
     $(this).transition({ 
     perspective: '500px', 
     rotateX: 360, 
     rotateY: 360 
     }) 
    }); 
+0

Вы можете связать с jsfiddle показывая, что вы пытаетесь сделать? –

+0

Я думаю, что они могут ожидать, что вы будете использовать события mousePoint и mouseleave, чтобы вы делали анимацию, а затем отменили ее в правильном контексте. Hover только получает вызов один раз, поэтому он вращает 360 и все. – Epirocks

+0

Да, похоже, проблема, позвольте мне уточнить код – codemonkey

ответ

1

Я создал jsfiddle, используя точный код, который вы предоставили, и он отлично работает. Вот ссылка: http://jsfiddle.net/a4m6aaL8/

<ul> 
    <li class="navlinks">Link 1</li> 
    <li class="navlinks">Link 2</li> 
    <li class="navlinks">Link 3</li> 
</ul> 

$('.navlinks').hover(function(){ 
    $(this).transition({ 
     perspective: '500px', 
     rotateX: 360, 
     rotateY: 360 
    }); 
}); 

Edit: может быть, вы импортировали библиотеку или JQuery неправильно, или в неправильном порядке?

Редактировать: он должен иметь отношение к используемой библиотеке, при замене элемента перехода чем-то вроде fadein/out, он работает каждый раз, когда наводится указатель мыши. http://jsfiddle.net/obmk4a9L/

Edit: вот исправление: http://jsfiddle.net/0qogt8m7/

$(document).on('mouseenter', '.navlinks', function() { 
    $(this) 
    .transition({perspective: '300px', rotateX: '360deg', rotateY: '360deg'}) 
    .transition({rotateX: 0, rotateY: 0, duration: 0}); 
}); 
+0

они работают так же, как на моей странице, я хочу, чтобы они снова навешивались на один и тот же элемент, не перезагружая страницу. Необходимо использовать события mouseenter и mouseleave. – codemonkey

+0

Когда я запускаю свою скрипку, он делает именно то, что говорит оригинальный плакат, работает только в первый раз. – Epirocks

+1

Вот исправление: http://jsfiddle.net/0qogt8m7/ –