Я анимирую панель инструментов (div), которая скрыта до тех пор, пока не hover()
. mouseOver div появляется, mouseOut div снова скрывается, простой и простой - он работает хорошо.
Но я хочу добавить еще одну особенность. Могу ли я остановить функцию mouseOut каким-то образом, то есть click()
чтобы я мог перемещать мышь за пределы div без ее исчезновения, как это предполагается? И после этого с той же функцией click()
чтобы возобновить обычное время выполнения функции hover()
?
Мой код для зависания (на всякий случай):
$('#dashboard').hover( function () {
$(this).stop().animate ({left: '0',backgroundColor: 'rgb(255,255,255)'},400,'easeInSine'); //animate M.over
},
function () {
$(this).stop().animate ({left: '-92px',backgroundColor: 'rgb(110,138,195)'},900,'easeOutBounce'); //animete M.out
}); // end hover
Просто установите флаг, когда вы нажимаете и проверяете этот флаг, когда вы вводите или покидаете элемент.
var disabled = false;
$('#dashboard').click(function () {
// toggle the disabled
disabled = !disabled;
}).hover(function () {
if (!disabled) {
$(this).stop().animate({
left: '0',
backgroundColor: 'rgb(255,255,255)'
}, 400, 'easeInSine'); //animate M.over
}
},
function () {
if (!disabled) {
$(this).stop().animate({
left: '-92px',
backgroundColor: 'rgb(110,138,195)'
}, 900, 'easeOutBounce'); //animete M.out
}
});