Показать сообщение отдельно
  #1 (permalink)  
Старый 15.11.2015, 22:04
Интересующийся
Отправить личное сообщение для Vyacheslav.Y Посмотреть профиль Найти все сообщения от Vyacheslav.Y
 
Регистрация: 01.11.2015
Сообщений: 23

Плавный скролл на сайте, прокручивается вся страница при работе с тачпадом в Safari 7
Добрый день. Подскажите из за чего при работе с тачпадом на MAc страница скролит в самый низ, а не понемногу? использую данный скрипт:
window.requestAnimFrame = (function(){
  return  window.requestAnimationFrame       ||
          window.webkitRequestAnimationFrame ||
          window.mozRequestAnimationFrame    ||
          function( callback ){
            window.setTimeout(callback, 1000 / 60);
          };
})();

var SmoothScroll = function(){
  this.init();
};

SmoothScroll.prototype = {
  dirOfChange: 0,
  scrollTop: 0,
  init: function(){
    this.bindEvents();
    this.render();
  },
  bindEvents: function(){
    var self = this;
    $('html, body').on('mousewheel', function(e){
      e.preventDefault();
      var change =  e.deltaY * 10;
      self.scrollTop -= change;
      
      if(change > 0){
        self.dirOfChange = -1;
      }else{
        self.dirOfChange = 1;
      }
    });
  },
  render: function(){
    var self = this;
    window.requestAnimFrame(function(){      
      self.render();
    }); 
    
    if (this.dirOfChange < 0) {
      if (this.scrollTop > -1) {
        this.scrollTop = 0;
        return;
      }
    } else {
      if (this.scrollTop < 1) {
        this.scrollTop = 0;
        return;
      }
    }
    
    TweenMax.set($('html, body'), {
      scrollTop: "+=" + this.scrollTop
    });

    this.scrollTop *= 0.9;
  }
};
var ss = new SmoothScroll();

и библиотеки mousewheel и TweenMax
Ответить с цитированием