2015-11-10 3 views
0

Так что моя проблема в том, что когда вы переходите на страницу элемента обзора моего веб-сайта, у меня есть jQuery на pageload, что делает страницу прокручиваемой вниз 200px, но jQuery.scrollSpeed.js сбрасывает смещение страницы назад в верхнюю часть страницы, когда они используют свое колесо прокрутки.jQuery.scrollSpeed.js сброс смещения страницы

Извините, если это было плохое объяснение, вы можете увидеть эту проблему самостоятельно, если вы идете здесь: http://www.coastalculture.matttruscott.co.nz/view.php?item=20

Я не то, что опыт в JavaScript/JQuery, так что я не знаю, как предотвратить это.

JQuery скрипт ниже:

<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> 
<script src="js/jQuery.scrollSpeed.js"></script> 
<script> 
    $(function() { 
     jQuery.scrollSpeed(50, 800); 
    }); 
</script> 
<script> 
window.addEventListener("load", function(){ 
    $('body,html').animate({ 
      scrollTop: 200 , 
      }, 1200 
     ); 
}); 
</script> 

ответ

4

Там, кажется, проблема в scrollSpeed компоненте.

Единственный способ, который я смог найти, чтобы исправить проблему, - это изменить код scrollSpeed.

В настоящее время она выглядит, как это в начале:

jQuery.scrollSpeed = function (step, speed, easing) { 

    var $document = $(document), 
     $window = $(window), 
     $body = $('html, body'), 
     option = easing || 'default', 
     root = 0, 
     scroll = false, 
     scrollY, 
     scrollX, 
     view; 

    if (window.navigator.msPointerEnabled) 

изменить это на:

jQuery.scrollSpeed = function (step, speed, easing) { 

    var $document = $(document), 
     $window = $(window), 
     $body = $('html, body'), 
     option = easing || 'default', 
     root = 0, 
     scroll = false, 
     scrollY = $document.height() > $window.height(), 
     scrollX = $document.width() > $window.width(), 
     view; 

    if (window.navigator.msPointerEnabled) 

Обратите внимание на начальные значения scrollY и scrollX.

+0

Спасибо большое за помощь Шон, отлично работает. –

+0

Спасибо! Помогла решить проблему со смещением страницы после прокрутки и перезагрузки страницы. – Julia

+0

Большое спасибо, У меня проблема при нажатии кнопки HOME. У вас есть решение? – cloverink

0

Это решает проблему со страницей смещения после прокрутки вниз и перезагрузки страницы или если вы используете: $window.off('mousewheel DOMMouseScroll'); (для отключения или включения свитка)

Изменить это: root = 0 на корень = document.documentElement.scrollTop || document.body.scrollTop

var $document = $(document),`enter code here` 
    $window = $(window), 
    $body = $('html, body'), 
    option = easing || 'default', 
    root = document.documentElement.scrollTop || document.body.scrollTop, 
    scroll = false, 
    scrollY, 
    scrollX, 
    view; 
Смежные вопросы