как возможное решение задачи "всплывающее окно при входе на сайт" ?
причем далеко не самое удачное, поскольку чем больше возить курсором по странице тем больше вылезет окон поверх друг друга.
в этом случае надо в openWindow удалять слушатель на событие, что бы этого не происходило.
onLoad в этом случае гораздо более простое и логичное решение.
Как только окно открылось (jquery
function openWindow(){
alert("window was open");
}
$(document).ready(function(){
openWindow();
});
(или онлоад)
Сработает вне зависимости от взаимодействия пользователя со страницей! Если же необходимо чтобы когда человек работает со страницей вылезло окно, что сейчас очень популярно ввиду маркетинговых соображений, т.к. если сходу выдать окно пользователю, то он его просто закроет и даже не прочитает что там сказано, т.к. расценит это как рекламу (как popup).
Следовательно ЖЕЛАТЕЛЬНО и ЦЕЛЕСООБРАЗНЕЕ и ЛОГИЧНЕЕ все равно использовать событие движения мышью.
Также выше выражение неверно, относительно количества окон. В зависимости от того какой триггер мы будем использовать - будет разное количество вызовов. (см. демо внизу на страницах референсов)
mouseover -
Для просмотра ссылки Войди или Зарегистрируйся
mousemove -
Для просмотра ссылки Войди или Зарегистрируйся
mouseenter -
Для просмотра ссылки Войди или Зарегистрируйся
И код не намного будет больше (jquery
function openWindow(){
document.onmousemove = null;
alert("window was open");
}
$(document).ready(function(){
document.onmousemove = function() {
openWindow();
};
});
Можно даже убрать документ реди и оставить:
function openWindow(){
document.onmousemove = null;
alert("window was open");
}
document.onmousemove = function() {
openWindow();
};
Итого - целая строка кода решает все проблемы и заставляет работать скрипт как надо.
И все будет ок.