jQuery воспроизводит анимацию перед загрузкой? - PullRequest
0 голосов
/ 08 октября 2011

Я не уверен, возможно ли это, но я очень надеюсь, что это возможно.У меня есть сайт по адресу http://www.sarahnwatson.com.. Он имеет несколько анимаций jQuery, воспроизводимых при загрузке страницы, мне было интересно, могу ли я сделать их в обратном порядке, когда страница выгружается.

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

$(window).bind('beforeunload', function(e) {                
    $list.children().each(function(i, el) { // loop through the LI elements within $list
        $(el).delay(500 * i).animate({'left': '-300px'}, 1000);
    });

    return false;
});

Вместо этого я просто получаю диалог.

Ответы [ 3 ]

4 голосов
/ 08 октября 2011

Вы можете контролировать только события, которые происходят по ссылкам на вашей странице. Имея это в виду, вы можете переопределить событие click всех ссылок на вашей странице.

var goToURL = null;

$('a').click(function() {
   var goToURL = $(this).attr("href");
     $(el).delay(500 * i).animate({'left': '-300px'}, 1000, function() {window.location = gotoURL;});
     return false; // or e.preventDefault();
   }
});
1 голос
/ 08 октября 2011

Я думаю, что вы хотите разгрузиться.

$(window).unload(function() {
  alert('Handler for .unload() called.');
})
0 голосов
/ 08 октября 2011

К сожалению onbeforeunload как onbeforeprint не входит в стандартные события DOM W3C, От MDN:

Нет публичных спецификаций. onbeforeunload был представлен Microsoft IE 4 и был впоследствии скопирован другими браузерами.

В любом случае, у Microsoft есть это событие , документированное . Вы можете вызвать это событие, закрыв браузер. Но по какой-то причине это событие не препятствует поведению браузера по умолчанию (закрытие окна или вкладки) в браузерах, отличных от IE.

Вот хорошая статья о unload мероприятии в документах webkit

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