Как остановить / переопределить функцию JQuery TimeOut?

Это незаконно, потому что инициализация полей в точности является причиной, почему существуют конструкторы!

В Java невозможно иметь код где-либо «вне» метода или конструктора (или инициализатор класса ). В инициализаторе поля могут быть простые выражения, но не несколько операторов:

public class Test {
    // here, at class level, you can only declare fields, methods or constructors!
    // But you cannot have procedural code!!!

    // field without initializer (=> default initialization with null)
    private List<String> list1;

    // field with explicit initializer expression
    private List<String> list2 = new ArrayList<String>();

    public Test() {
        // initialize fields
        this.list1 = new ArrayList<>();

        this.list2.add("asdf");
    }
}
29
задан Tom 5 April 2010 в 13:37
поделиться

3 ответа

Сначала вы сохраняете возвращаемое значение для функции setTimeout :

// Set the timeout
var timeout = setTimeout(function()
    {
        // Your function here
    }, 2000);

Затем, когда вы будете готовы убить тайм-аут ... вы просто вызовите clearTimeout с сохраненным значением из предыдущего вызова setTimeout .

// Then clearn the timeout
clearTimeout(timeout);
61
ответ дан 28 November 2019 в 01:03
поделиться

jQuery 1.4 имеет встроенный метод обработки задержек для анимации, вы можете сделать что-то вроде этого:

$("#mini-txt").html("Thank you!");
$("#mini").fadeIn("fast").delay(3000).animate({height: "hide", opacity: "hide"}, "medium");

А потом, когда вы захотите очистить очередь анимации, вы можете сделать:

$("#mini").stop(true);
6
ответ дан 28 November 2019 в 01:03
поделиться

Вы можете использовать .stop ()

Остановить текущую анимацию для согласованных элементов.

7
ответ дан 28 November 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: