2013-11-14 3 views
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 

ответ

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 :) он работал как шарм. – Aca85

Смежные вопросы