Есть две функции
var widget = $('popup');
function show() { widget.show(); };
function hide() { widget.show().delay(delay).fadeOut(); };
Проблема в том, что если вызывается show() раньше чем закончит выполняться hide(), то показываемый элемент всё равно скроется.
Можно ли как-нибудь при вызове show() прерывать предыдущие действия для widget
Ответ
@lexxl, немного откорректировав комментарий, я добился желаемого. Сам использовал stop(), но без аргументов он работал не так.
var widget = $('#popup').hide();
$('#show').click(function(e) {
widget.stop(true).show();
});
$('#hide').click(function(e) {
widget.show().delay(7000).fadeOut();
});
#popup {
border: 1px solid;
margin: 10px;
padding: 10px;
width: 200px;
text-align: center;
}
Комментариев нет:
Отправить комментарий