2013-08-15 3 views
2

Я пытаюсь создать сайт, используя Bootstrap 3 RC1 с Scrollspy. Моя веб-страница является довольно простой прямо сейчас, и, по существу, установить так:Bootstrap 3 Scrollspy Activate Event Not Firing

<html> 
    <head> 
     <!-- Head stuff here --> 
    </head> 

    <body> 
     <section id="section_1" data-spy="scroll"> 
      <!-- stuff in here --> 
     </section> 
     <section id="section_2" data-spy="scroll"> 
      <!-- stuff in here --> 
     </section> 
     <section id="section_3" data-spy="scroll"> 
      <!-- stuff in here --> 
     </section> 

     <JScripts here ... /> 
    </body> 
</html> 

Я инициализируется Scrollspy по телефону $("section").scrollspy() и я создал обработчик события, как это:

$("section").on("activate", function(e) { 
    // do stuff 
}); 

Моя проблема в том, что это событие activate никогда не срабатывает. Кто-нибудь знает, почему он не работает? Я заметил, что все учебники используют навигационную панель для выделения текущего раздела, но я действительно не хочу навигатора.

ответ

5

Ваша разметка для scrollspy немного не работает. Scrollspy может не срабатывать, поэтому вы, вероятно, не получаете никаких результатов. По моему опыту, намного проще атрибуты пользовательских данных инициировать scrollspy. И я не читал один отчет об этом, если вы добавляете прослушиватель прокрутки к любому другому элементу, кроме самого тела.

Вы должны применить их к тегу тела, как это.

<body data-spy="scroll" data-target="#YOUR NAV CONTAINER"> 

Кроме того, вы должны убедиться, что ваша навигационная структура, как это:

<div id="YOUR NAV CONTAINER"> 
    <ul class="nav"> 
      <li><a href="#SECTIONID">list item</a></li> 
      <li><a href="#SECTIONID">list item2</a></li> 
    </ul> 
</div> 
+0

Хорошо, я добавил структуру нав на мою страницу. Должны ли имена совпадать с чем-либо из моих тегов 'section'? Я попытался подключить к нему обработчик событий, и он все равно не срабатывает. –

+0

Извините, я забыл добавить якоря, обновленная структура навигации в моем ответе. – joshrathke