jQuery путевые точки - Могу ли я использовать путевые точки дважды на одной странице? (Похоже, другие наборы путевых точек вызывают другие)
Я не уверен, что делаю что-то не так, но у меня есть несколько разделов, некоторые с подразделами.
<section id="section-one" class="section-top"></section>
<section id="section-two" class="section-top"></section>
<section id="section-three" class="section-top">
<article id="sub-section-one" class="section-sub"></article>
<article id="sub-section-two" class="section-sub"></article>
<article id="sub-section-three" class="section-sub"></article>
<article id="sub-section-four" class="section-sub"></article>
</section>
поэтому я установил два вызова путевой точки для выполнения различных задач на section-top
против section-sub
$(document).ready(function(){
$('.section-top').waypoint(function(e,d){
// Do something
});
$('.section-sub').waypoint(function(e,d){
// Do something else
});
});
Однако, когда я прокручиваю section-sub
путевые точки, это все еще вызывает section-top
что еще хуже, кажется, section-top
со своей собственной путевой точкой, так что нет способа сказать ей не действовать на section-sub
триггеры.
Если вы посмотрите на этот jsbin, то увидите, что trigger-count
вызывается в первом наборе путевых точек, но он постоянно увеличивается при прокрутке поднабора путевых точек.
Это как это должно функционировать, я делаю что-то не так? (Разве я не должен регистрировать путевые точки дважды?)
1 ответ
ХОРОШО. С помощью создателя путевых точек jQuery Калеб отметил, что причина этого заключается в том, что jQuery создает пузыри пользовательских событий.
Решение было поставить e.stopPropagation()
во второй точке инициализации.