Запретить анимацию на jquery
Как запреть анимацию на jquery?
Ну вот такой пример: Страничка с рисунками, когда я навожу на рисунок мне появляется блок с информацией рисунка, в этом блоке есть ссылка "Изменить", при нажатии на нее, в блоке под ссылкой появляется форма редактирования этих данных. Нужно что бы когда появилась форма человек не смог навести на другую картинку, а действие возможно выполнить после нажатия на кнопку "Отмена" в этой форме. И как это сделать? |
$.fx.off=1 // выключить $.fx.off=0 // включить |
Тоесть у меня есть блок который появляется при наведении на элемент.
$('#pic').hover(function(){ $(this).find('#nonebox').animate({'opacity': '1'},500).css({'display':'block'}); }, function(){ $(this).find('#nonebox').animate({'opacity':'0'},500).css({'display':'none'}); $('#sendbox').css({'display':'none'}); }); в блоке я нажимаю кнопку отправить сообщение $('#sendlink').click(function(){ $('#sendbox').animate({'top':'10px'},500).css({'display':'block'}); $.fx.off = 1;//запрет на анимацию вставил } ); То по теории когда я вставил $.fx.off = 1; и буду наводить на другие элементы, анимация не должна срабатывать и блок должен застыть пока не будет сделано следующее действие(отправка сообщения или отмена). Но вижу что не все так просто. как это решить в моей ситуации? |
при нажатии на кнопку делайте $.fx.off = 1;
при отправки сообщения или отмене делайте $.fx.off = 0; помоему,все просто |
просто но не работает(((
Когда навожу на другие элементы форма пропадает |
<html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> </head> <body> $.fx.off сейчас равен <span id="status">0</span> <div style="background:green;width:30px;height:30px"></div> <a href="javascript: document.getElementById('status').innerHTML = +($.fx.off = !$.fx.off); void 0">переключить</a> <script> (function () { ca=arguments.callee; $('div').animate({ marginLeft: 300 }, 3000, function () { $('div').animate({ marginLeft: 0 }, 3000, function () { ca() }); }); })(); </script> </body> </html> как выеснилось мой способ работает частично-анимация доходит доконца а потом отменяеться для мгновнного откл используйте $(elem).stop(1,1); |
Часовой пояс GMT +3, время: 04:04. |