чтоб кнопки становились сразу активными измени в каждом блоке последнюю 1000 на 0.
$("#but3").mouseenter(function(){ var a = $(this).attr("disabled"); if(!a){ $(this).attr("disabled",true); $("#but1").attr("disabled",true); $("#but2").attr("disabled",true); $("#div1 img").attr("src","3.jpg"); $("#div1").stop().show("bounce", { times: 1 }, 1000); setTimeout(function() { $("#but1").attr("disabled",false); $("#but2").attr("disabled",false); }, 0); } }); |
Если с 3 кнопки быстро пробежаться курсором до 1, то они все 3 становятся не активными
|
Цитата:
проверили на IE8 и Opera. работают... |
Цитата:
|
Цитата:
так чтоб вообще не блокировать незадействованные кнопки: $("#but3").mouseenter(function(){ var a = $(this).attr("disabled"); if(!a){ $(this).attr("disabled",true); $("#div1 img").attr("src","3.jpg"); $("#div1").stop().show("bounce", { times: 1 }, 1000); } }); оставляй так.. но при быстром пробеге по кнопкам — картинки будут меняться быстрее, чем закончится первая анимация... |
сделал почти также, добавив строчку $("#but1, #but2").attr("disabled", false) в каждый блок, но теперь при быстром пробеге по всем кнопкам много раз происходит заедании картинки и она опускается вниз. Получается сделать чтобы работала как раньше (та версия, которая пришла мне на почту) с учетом того, чтобы картинка сразу пропадала и появлялась другая не получится?
|
Цитата:
если после наведения на одну кнопку, оставлять активными все остальные и быстро по ним пробежаться курсором — запускаются сразу все анимации, т.е. ещё не закончилась первая, а уже следом за ней вторая запускается и тут же третья... и при этом ещё и картинки меняются. это можно исправить только делая неактивными две оставшиеся кнопки на время анимации, чтоб даже если на них навели указатель, ничего не происходило, пока не закончится первая анимация. пока работоспособным я вижу только мой первый вариант (который отправлял по почте).. других решений придумать не могу. |
Буду тогда просить чтобы первый вариант приняли. Спасибо за помощь и за уделенное мне время.
|
|
нет. курсор попадает на кнопку, когда она ещё не активна, а когда становится активна, отловить прошедшее событие невозможно.
попробуй заменить ".mouseenter" на ".focus", если не поможет, тогда невозможно. это браузеры так обрабатывают события, иначе будет бесконечное выполнение, пока курсор находится на кнопке. |
Часовой пояс GMT +3, время: 02:03. |