[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: отмена действий для функции
IPnex
Приветствую!
Такой вопрос, допустим при загрузке страницы у меня запускается такой обработчик:

$('#div').somefunc();

где 'somefunc()' - сторонняя функция, которая что-то делает на странице.
Как мне отменить ее действие при необходимости, например при клике по какой-либо ссылке?

Например как это делает unbind для базовых событий



Спустя 4 минуты, 57 секунд (25.05.2011 - 15:33) ApuktaChehov написал(а):
При запуске функции создаете глобальную переменную. Функция во время своей работы проверяем ее. А клик на ссылке уничтожает эту переменную. Функция обнаружив ее отсутствие прекращает свою работу.

Ну это самое простое решение.

Спустя 8 минут, 40 секунд (25.05.2011 - 15:42) IPnex написал(а):
А нельзя без правки самой функции? Т.е. нет ли в jquery какого-нибудь специального метода который это делает? Что-то типа:
$('#div').somefunc(); - запускаем эффект
$('#div').deleffect('somefunc') - отключаем эффект
$('#div').somefunc(); - снова запускаем

Как-то так biggrin.gif

Просто такая ситуация, функция somefunc() меняет картинки в определенном блоке через определенное время. И мне нужно чтобы просто при нажатии ссылки этот эффект приостанавливался, т.е. как бы ставился на паузу. А затем когда мне нужно будет, запустить его, например при нажатии другой ссылки.

Спустя 1 час, 15 минут, 18 секунд (25.05.2011 - 16:57) ApuktaChehov написал(а):
IPnex - я не знаю, что там можно в JQuery. Но если мыслить простым JS. То любая функция это метод глобального объекта window.

Соответственно можно сделать так:
function asd()// тут мы регистрируем новую функцию.
{
alert(123);
}
asd(); //тут она есть
window.asd = null; //а тут заменяем ее значением null
asd(); //а тут она уже не существует


Учите JS и будете все знать.

Спустя 45 минут, 9 секунд (25.05.2011 - 17:42) KonstantinK написал(а):
Вот тут можно почитать если я правильно понял вопрос http://slyweb.ru/jquerydoc/die-type-n.php

Спустя 3 часа, 58 минут, 21 секунда (25.05.2011 - 21:41) nugle написал(а):
можно взять переменную bool,
т.е. всегда true, а по клику false

function somefunc(go)
{
if(go == true)
действие;
else
return false
;
}
$('#div').somefunc(true);
$('#div').somefunc(false);

Спустя 1 час, 57 минут, 46 секунд (25.05.2011 - 23:38) IPnex написал(а):
Спасибо за ответы! Попробую
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.