I have a function which is called onmouseover that animates the element that was moused over down then, once the mouse has moved outside of the area that the element took up, animates the element back up. The function works fine but only works one time. So if I mouseover a second time the function is not triggered. I have to refresh the page in order to get the function to trigger again. Any assistance would be appreciated.
HTML:
<div class="frontDivcenter blueGradient shadow" id="front1" onmouseover="slideDown(this);">
Hello
</div>
Javascript:
function slideDown(item) {
$(item).animate({
top: '-100%'
}, 250, 'easeInOutCubic');
$(document).mousemove(function (e) {
if (e.pageX < $(item).offset().left || e.pageX > ($(item).offset().left + $(item).width()) || e.pageY < $(item).offset().top || e.pageY > ($(item).offset().top + $(item).height())) {
$(item).animate({
top: '-200%'
}, 250, 'easeInOutCubic');
}
});
};
You are unbinding the
mouseoverfrom the element, notmousemovefromdocumentTry with: