Показать сообщение отдельно
  #6 (permalink)  
Старый 07.02.2013, 03:21
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

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

Я не вкурсе просто, сейчас что-то изменилось ?

Можно ещё RequestAnimationFrame использовать, а в случае его отсутствия делать через setTimeout
но пример и без того перегружен по моему.
Я сам непонял нафиг я эту анимацию писать начал, просто чото написать хотелось наверно ))))
В баню всё, я спать


// кроссбраузерны requestAnimationFrame с поддержкой старого говна
(function() {
    var lastTime = 0;
    var vendors = ['ms', 'moz', 'webkit', 'o'];

    //если  requestAnimationFrame отсутствует то поищим requestAnimationFrame с префиксами.
    for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
        window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame'];
        window.cancelAnimationFrame = 
          window[vendors[x]+'CancelAnimationFrame'] || window[vendors[x]+'CancelRequestAnimationFrame'];
    }

    //если  requestAnimationFrame отсутствует то с имитируем его при помощи timeout
    if (!window.requestAnimationFrame)
        window.requestAnimationFrame = function(callback, element) {
            var currTime = new Date().getTime();
            var timeToCall = Math.max(0, 16 - (currTime - lastTime));
            var id = window.setTimeout(function() { callback(currTime + timeToCall); }, 
              timeToCall);
            lastTime = currTime + timeToCall;
            return id;
        };

    // если cancelAnimationFrame отсутствует то будем отменять setTimeout
    if (!window.cancelAnimationFrame)
        window.cancelAnimationFrame = function(id) {
            clearTimeout(id);
        };
}());
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 07.02.2013 в 03:38.
Ответить с цитированием