Javascript.RU

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

Помогите "соединить" два скрипта
Добрый день. Использую на сайте скрипт плавной прокрутки, работает везде кроме firfox, после последнего обновления отказывается вообще скролить сайт. Нашел другой скрипт, но мне не нравится как именно осуществляется скролл, скролит плавно, но рывками, зато работает в firefox. Нужна помощь, как сделать так, чтобы первый скрипт работал в Firefox на примере 2. И еще вопрос мб не совсем по этой теме, прошу объяснить что делает this в первом скрипте? (искал в интернете, но так и не смог разобраться)
Первый скрипт: http://codepen.io/anon/pen/xZKNeR
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.originalEvent.wheelDelta/120 || -e.originalEvent.detail/3; 
      change = change * 7; 
      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();


Второй скрипт: http://codepen.io/bassta/pen/LovFG
$(function(){
	
	var $window = $(window);		//Window object
	
	var scrollTime = 1.2;			//Scroll time
	var scrollDistance = 170;		//Distance. Use smaller value for shorter scroll and greater value for longer scroll
		
	$window.on("mousewheel DOMMouseScroll", function(event){
		
		event.preventDefault();	
										
		var delta = event.originalEvent.wheelDelta/120 || -event.originalEvent.detail/3;
		var scrollTop = $window.scrollTop();
		var finalScroll = scrollTop - parseInt(delta*scrollDistance);
			
		TweenMax.to($window, scrollTime, {
			scrollTo : { y: finalScroll, autoKill:true },
				ease: Power1.easeOut,	//For more easing functions see [url]http://api.greensock.com/js/com/greensock/easing/package-detail.html[/url]
				autoKill: true,
				overwrite: 5							
			});
					
	});
	
});


Спасибо.

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

Неужели нет людей работающих с библиотекой mousewheel?
Ответить с цитированием
  #3 (permalink)  
Старый 06.12.2015, 15:16
Интересующийся
Отправить личное сообщение для Vyacheslav.Y Посмотреть профиль Найти все сообщения от Vyacheslav.Y
 
Регистрация: 01.11.2015
Сообщений: 23

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

Ап
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Соединить два скрипта. Lalium Events/DOM/Window 2 30.08.2013 12:13
Обьединить два скрипта grigori jQuery 4 16.07.2013 08:37
Конфликтуют два скрипта Aydar_nv Работа 2 27.01.2011 11:13
Помогите чайнику. Два одинаковых скрипта на странице. VASH132 Общие вопросы Javascript 6 28.01.2010 15:42
Блок переключения меню на JS, два скрипта в одном файле Dizeloid Элементы интерфейса 0 30.07.2009 12:03