2013-03-15 2 views
2

У меня есть код, который прослушивает прокрутку страницы и отвечает за две вещи, выполняя необходимое действие (которое работает), когда «страница» изменилась, а также оживит прокруткуTop до ближайшего «страница», но при этом запускается событие прокрутки, поэтому он последовательно просканирует все «страницы» до тех пор, пока не достигнет конца документа.animate scrollTop fire scroll event

Как остановить анимацию scrollTop от запуска события прокрутки? Возможно ли это?

«страницы» потому что это HTML страница IPad и каждый 1024x768 вид является «страница»

ответ

1

Вы можете найти ответ на этот пост: https://stackoverflow.com/a/1659231/237838

Вы могли бы сделать написать свой собственный код для установки значения анимации и установите флаг, указывающий, что изменение происходит от анимации.

Например: (непроверенная)

var scrollAnimating = false 
jQuery.fx.step.scrollTop = function(E) { 
    scrollAnimating = true; 
    E.elem.scrollTop = E.now; 
    scrollAnimating = false; 
}; 

$('#gototop').click(function() { 
    $('body').animate({scrollTop:0},3000); 
    $(window).scroll(function() { 
     if (!scrollAnimating) 
      $('body').stop(); 
    }); 
    return false; 
}) 
+3

Благодарим Вас за редактирование в атрибуции. Однако теперь ваши сообщения действительно достойны комментария, а не ответа; вам действительно нужно включить свою собственную информацию в свои ответы, а не только копию и вставку чужого кода, даже если вы включите атрибуцию. –

+0

проверяется, если вы можете вставить демо-URL? –