запуск функции jQuery через n секунд после отображения вкладки / окна - PullRequest
0 голосов
/ 09 января 2010

Я использую jQuery, чтобы рекламное окно открывалось, скажем, через 5 секунд после загрузки страницы. Но эффект теряется для людей, которые открывают страницу в новом окне или новой вкладке. Когда они попадут на мою вкладку, окно уже будет открыто.

Есть ли способ заставить это срабатывать, когда люди действительно начинают просматривать мой сайт?

Я думал о том, чтобы поймать свиток или что-то в этом роде, но люди не начинают сразу же прокручивать его, и большинство вообще не будет его прокручивать. Кроме этого у меня нет идей.

Я не уверен, предлагает ли jQuery решение здесь ... javascript?

Спасибо.

Ответы [ 2 ]

5 голосов
/ 09 января 2010

следующее должно сделать трюк .. (jQuery)

<script type="text/javascript">
function initiatePopup(){
    $(window).unbind('blur');
    $(window).unbind('focus');
    // do the popup
};

$(document).ready(
             function(){
                        $(window).focus( initiatePopup ).blur( initiatePopup );
                        // your other functions should go from here on

                       }
                 );
</script>

[РЕДАКТИРОВАТЬ] по запросу OP ..

код отредактирован, чтобы пример включал

[РЕДАКТИРОВАТЬ 2]

Приведенный выше код был снова отредактирован, потому что нам нужно также обработать событие размытия ... поэтому мы берем код для всплывающего окна где-то еще, чтобы не дублировать его внутри обоих событий ..

[РЕДАКТИРОВАТЬ 3]

если вы хотите передать параметры во всплывающее окно, если они будут созданы позже, измените строку привязки события на

$(window).focus( function() { initiatePopup(params); } ).blur( function() { initiatePopup(params); );

и, конечно, измените initiatePopup для принятия параметров ..

1 голос
/ 09 января 2010

Будет ли установка div вокруг всего, работать с onmouseover слушателем событий? Я никогда не пробовал, так что я не уверен, сработает ли это или нет, но, возможно, стоит попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...