2014-08-11 2 views
0

Есть некоторые JSкросс-браузер колеса мыши, для прокрутки 100% высоты браузера с помощью одного колеса

$(document).ready(function(){ 
var winHeight = window.innerHeight ? 
     function() { 
      return window.innerHeight; 
     } : 
     function() { 
      return document.documentElement.clientHeight; 
     }; 
$('.first-block').height(winHeight); 
$(window).scroll(function(){ 

var firstBlockHeight = winHeight(); 
var scrollTop= $('body').scrollTop(); 

if (scrollTop > 0 && scrollTop < firstBlockHeight/2 && $('body').hasClass('scrolled') === false) { 
$("body") 
    .animate({ scrollTop: firstBlockHeight+10 }, 600) 
    .addClass('scrolled'); 

} else if (scrollTop==0) { 
$("body") 
.animate({ scrollTop: 0 }, 600) 
.removeClass('scrolled'); 
} 
}); 
}); 

, который свитки первого блока высоты 100% от одного колеса мыши. Этот код не работает в firefox .. И есть ошибки, если вы играете с прокруткой .. Помогите устранить это и добавить поддержку кросс-браузера. См. Пожалуйста JsFiddle.

Спасибо.

+1

пожалуйста, не второй угадать, как я установить мою мышь вверх, я, скорее, как мои настройки ... – dandavis

+0

@dandavis I» Извините, я вас совсем не понял .. – CroaToa

+0

Вы уже видели этот вопрос? http://stackoverflow.com/questions/9471286/window-scrollfunction-not-working-on-firefox –

ответ

0

Я использую mouswheel.js, и я это делаю! :) может быть полезным для кого-то

$(document).ready(function(){ 
var winHeight = window.innerHeight ? 
      function() { 
       return window.innerHeight; 
      } : 
      function() { 
       return document.documentElement.clientHeight; 
      }; 
$('.first-block').height(winHeight); 
var BlockHeight = $('.first-block').height(); 
$.browser = {}; 
$.browser.mozilla = /mozilla/.test(navigator.userAgent.toLowerCase()) &&  !/webkit/.test(navigator.userAgent.toLowerCase()); 
if($.browser.mozilla) 
{ 
var ScrollType = 'html'; 
    } 
else 
    { 
var ScrollType = 'body'; 
    } 
$('.first-block').mousewheel(function(event, delta, deltaX, deltaY) { 
    if((delta<0) && ($(ScrollType).scrollTop()==0)) $(ScrollType).animate({ scrollTop: BlockHeight- 104 }, 600); 
}); 

$(ScrollType).keydown(function(event){ 
if((event.keyCode==40) && ($(ScrollType).scrollTop()==0)) $(ScrollType).animate({ scrollTop: BlockHeight-104 }, 600); 
}) 

}); 

спасибо за меня)

Смежные вопросы