Чтобы запустить анимацию по собственному желанию:
pulsate( $('#waterloo') );
исправлен код для непрерывной пульсации (я не был уверен, что это именно то, что вам нужно) - эффект пульсации передается в его собственную функцию, поэтому вы можете вызывать его напрямую или в своем обработчике событий
<script type="text/javascript">
$(function() { // on document ready
$('#waterloo').hover( //hover takes an over function and out function
function() {
var $img = $(this);
$img.data('over', true); //mark the element that we're over it
pulsate(this); //pulsate it
},
function() {
$(this).data('over', false); //marked as not over
});
});
function pulsate(element) {
jquery(element).pulse({opacity: [0,1]}, // do all the cool stuff
{ duration: 100, // duration of EACH individual animation
times: 3, // Will go three times through the pulse array [0,1]
easing: 'linear', // easing function for each individual animation
complete: function() {
if( $(this).data('over') ){ // check if it's still over (out would have made this false)
pulsate(this); // still over, so pulsate again
}
}});
}
<a href="city.htm"><img src="waterloo.png" border="0" class="env" id="waterloo"/></a>
Примечание. Для запуска событий вы можете использовать .trigger () или вспомогательные функции, например
.
$('#waterloo').mouseover() // will fire a 'mouseover' event
или
$('#waterloo').trigger('mouseover');