Остановка зависания () на полпути

0

Я анимирую панель инструментов (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
Теги:
attributes
hover
mouseover

1 ответ

0
Лучший ответ

Просто установите флаг, когда вы нажимаете и проверяете этот флаг, когда вы вводите или покидаете элемент.

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
    }
});

http://jsfiddle.net/R2PeL/1/

  • 0
    TNX :) это работает как шарм.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню