Показать сообщение отдельно
  #1 (permalink)  
Старый 11.08.2014, 14:25
Интересующийся
Отправить личное сообщение для Нарек Посмотреть профиль Найти все сообщения от Нарек
 
Регистрация: 23.06.2014
Сообщений: 17

Прокрутка колесом мыши к якорю или 100% высоты экрана браузера
Здравствуйте.
Есть такой код который скроллит расстояние равное 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');
    }
  });
});


Проблема в том, что код не кроссбраузерный (в ФФ не работает), да и если поиграться с ним то появляется глюк с цикличной прокруткой вверх и вниз без остановки.
Как можно эти проблемы решить? Буду очень благодарен.

Ссылка на JsFiddle
Ответить с цитированием