2013-02-28 2 views
0

Я хотел бы вернуть текущую или активную путевую точку, которая находится в области просмотра, когда я нажимаю в любом месте документа.jQuery WayPoints: Get Current or Active Waypoint

У меня уже есть следующая функция, написанная и прекрасно работает.

$('.point').waypoint(function(e, direction) { 
    var $active = $(this), 
     index, 
     points = $('.point').length - 1, 
     $caption = $('.caption').first(), 
     caption; 

    index = $active.index('.point'); 

    if (direction === "up") { 
     $active = $active.prev(); 

     index = $active.index('.point'); 

     if($active.index('.point') === -1) { 
      index = 0; 
      $('.bottom-nav').slideUp(); 
     } 
    } else { 
     if($active.index('.point') === 1) { 
      index = 0; 
      $('.bottom-nav').slideDown(); 
     }   
    } 

    caption = $active.data('caption'); 

    if(caption) { 
     $caption.html('').append(caption); 
    } else { 
     $caption.html(''); 
    } 

    currentSlide(index); 
}, { offset: 72 }); 

То, что я хотел бы сделать, хотя это, чтобы быть в состоянии получить доступ к текущей путевой точке из глобального $ .waypoints объекта. Более конкретно, чтобы вернуть текущую путевую точку, когда я нажимаю на документ. Что-то вроде:

$(document).on('click', function(){ 
    var index = $.waypoints('current'); 
}); 

Хотя очевидно, что синтаксиса не существует.

Каков наилучший способ возврата текущей путевой точки?

Спасибо!

+0

Я в замешательстве - вы хотите захватить объект путевой точки для селектора, который является видимым, или селектор, который имеет включенную путевую точку на нем? –

+0

Для селектора, который виден! Спасибо, Майкл. –

ответ

1

Когда вы устанавливаете путевую точку/путевые точки, можете ли вы кешировать селектор, который имеет применимую к нему путевую точку, и вызывать эту переменную всякий раз, когда вы хотите получить список включенных путевых точек?

После того, как вы отключили путевую точку, вы можете удалить селектор из переменной.

+0

Это работало для вас? Если да, я с радостью возьму принятый ответ. ;) –

+0

В общем, да, это работало для меня. Можете ли вы указать код, чтобы ваш ответ мог помочь другим людям? –