06.03.2012, 18:32
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
чтоб кнопки становились сразу активными измени в каждом блоке последнюю 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);
}
});
__________________
С моих слов записано верно.
|
|
06.03.2012, 18:34
|
Интересующийся
|
|
Регистрация: 05.03.2012
Сообщений: 12
|
|
Если с 3 кнопки быстро пробежаться курсором до 1, то они все 3 становятся не активными
|
|
06.03.2012, 18:37
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
Сообщение от Stalker4uk
|
Если с 3 кнопки быстро пробежаться курсором до 1, то они все 3 становятся не активными
|
но через 1 секунду, когда кончается анимация, первые две ведь становятся активными. или в каком-то браузере не становятся???
проверили на IE8 и Opera. работают...
__________________
С моих слов записано верно.
|
|
06.03.2012, 18:41
|
Интересующийся
|
|
Регистрация: 05.03.2012
Сообщений: 12
|
|
Сообщение от T-sh
|
чтоб кнопки становились сразу активными измени в каждом блоке последнюю 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);
}
});
|
Если поменять 1000 на 0, то когда возвращаешься на 1 кнопку, все кнопки блокируются. Даже если медленно делать. Браузер хром
|
|
06.03.2012, 18:44
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
Сообщение от Stalker4uk
|
Если поменять 1000 на 0, то когда возвращаешься на 1 кнопку, все кнопки блокируются. Даже если медленно делать. Браузер хром
|
да, чего-то я ступил..
так чтоб вообще не блокировать незадействованные кнопки:
$("#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);
}
});
оставляй так.. но при быстром пробеге по кнопкам — картинки будут меняться быстрее, чем закончится первая анимация...
__________________
С моих слов записано верно.
|
|
06.03.2012, 18:53
|
Интересующийся
|
|
Регистрация: 05.03.2012
Сообщений: 12
|
|
сделал почти также, добавив строчку $("#but1, #but2").attr("disabled", false) в каждый блок, но теперь при быстром пробеге по всем кнопкам много раз происходит заедании картинки и она опускается вниз. Получается сделать чтобы работала как раньше (та версия, которая пришла мне на почту) с учетом того, чтобы картинка сразу пропадала и появлялась другая не получится?
|
|
06.03.2012, 19:00
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
Сообщение от Stalker4uk
|
сделал почти также, добавив строчку $("#but1, #but2").attr("disabled", false) в каждый блок, но теперь при быстром пробеге по всем кнопкам много раз происходит заедании картинки и она опускается вниз. Получается сделать чтобы работала как раньше (та версия, которая пришла мне на почту) с учетом того, чтобы картинка сразу пропадала и появлялась другая не получится?
|
понимаешь, тут дело в том, что анимация длится 1 секунду.
если после наведения на одну кнопку, оставлять активными все остальные и быстро по ним пробежаться курсором — запускаются сразу все анимации, т.е. ещё не закончилась первая, а уже следом за ней вторая запускается и тут же третья... и при этом ещё и картинки меняются. это можно исправить только делая неактивными две оставшиеся кнопки на время анимации, чтоб даже если на них навели указатель, ничего не происходило, пока не закончится первая анимация.
пока работоспособным я вижу только мой первый вариант (который отправлял по почте).. других решений придумать не могу.
__________________
С моих слов записано верно.
|
|
06.03.2012, 19:04
|
Интересующийся
|
|
Регистрация: 05.03.2012
Сообщений: 12
|
|
Буду тогда просить чтобы первый вариант приняли. Спасибо за помощь и за уделенное мне время.
|
|
06.03.2012, 19:14
|
Интересующийся
|
|
Регистрация: 05.03.2012
Сообщений: 12
|
|
А можно как то исправить чтобы не было такого недочета:
Курсор стоит на 3 кнопки, но картинка показывается 2 кнопки и пока не выедешь за границу кнопки и опять не наведешь на неё, картинка не поменается
|
|
06.03.2012, 19:19
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
нет. курсор попадает на кнопку, когда она ещё не активна, а когда становится активна, отловить прошедшее событие невозможно.
попробуй заменить ".mouseenter" на ".focus", если не поможет, тогда невозможно. это браузеры так обрабатывают события, иначе будет бесконечное выполнение, пока курсор находится на кнопке.
__________________
С моих слов записано верно.
|
|
|
|