Как узнать, когда элемент DOM перемещается или изменяется

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

26
задан slolife 9 August 2010 в 22:43
поделиться

2 ответа

Вы не можете получить обратный вызов для перемещения / изменения размера элемента в целом; вам придется постоянно проверять размеры в интервальном опросе, что сделает его немного менее отзывчивым.Вы можете улучшить это, вызвав средство проверки в событии окна resize scroll , если задействовано переполнение или фиксированное позиционирование. Вы также можете добавить прослушиватели событий мутации DOM, чтобы получать информацию, когда элементы удаляются из дерева документа, но это работает не во всех браузерах.

Вы не можете сделать наложение с помощью простого CSS? например, поместите position: relative в скрываемый элемент, затем добавьте в него оверлей со следующей формулой?

position: absolute;
z-index: 10;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0.5;
12
ответ дан 28 November 2019 в 07:49
поделиться

Для этого есть плагин (Ben Alman). TM

Это хороший плагин, хотя я предлагаю использовать его экономно (т. Е. Не на слишком большом количестве элементов), чтобы уменьшить количество опросов.

4
ответ дан 28 November 2019 в 07:49
поделиться
Другие вопросы по тегам:

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