var buttonHovered = false;
$('#button').hover(function () {
buttonHovered = true;
while (buttonHovered) {
...
}
},
function () {
buttonHovered = false;
});
Если вы хотите сделать это для нескольких объектов, возможно, было бы лучше сделать его более ориентированным на объект, чем глобальную переменную.
Редактировать: Подумайтелучший способ работы с несколькими объектами - это поместить его в блок .each ():
$('myselector').each(function () {
var hovered = false;
$(this).hover(function () {
hovered = true;
while (hovered) {
...
}
},
function () {
hovered = false;
});
});
Edit2 : или вы можете сделать это, добавив класс:
$('selector').hover(function () {
$(this).addClass('hovered');
while ($(this).hasClass('hovered')) {
...
}
}, function () {
$(this).removeClass('hovered');
});