JS - Magneti c курсор не работает, когда он не загружен в окно просмотра - PullRequest
1 голос
/ 06 августа 2020

У меня есть div в моей навигации в верхней части страницы, который имеет эффект magneti c, когда курсор приближается, он привязывается к нему.

Но когда вы находитесь на полпути страницы и нажимаете refre sh, тогда страница загрузится в этот момент, а поле magneti c отсутствует в области просмотра. Затем вы прокручиваете до magneti c div, и эффект не работает ...

Он работает только тогда, когда вы находитесь наверху страницы, когда страница загружается ... Я сделал ручку, но там сложно воссоздать проблему. Может кто с этим знаком?

<body>
    <div>
        <div class="mag magnet-btn">magnetic box</div>
    </div>
</body>

Ссылка на мою ручку: https://codepen.io/mdia/pen/bGpGJNj

1 Ответ

2 голосов
/ 06 августа 2020

Вы должны основывать ось Y на позиции элемента, а не на scrollY объекта window. Вот почему он не будет правильно инициализироваться в другом положении прокрутки окна, кроме самого верхнего.

var viewportOffset = {
    x: 0,
    y: 0
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...