2016-07-01 4 views
1

Я пытаюсь использовать путевые точки jquery, когда элемент прокручивается на экране, мне нужно получить атрибут name видимого элемента, чтобы выделить меню. Но я не могу заставить его ничего сделать. Мой код в настоящее время предупреждает «х», когда элемент в окне просмотра, но никакой другой JQuery не работает ..jQuery waypoints получить имя элемента

$('.anchor-point').waypoint(
    function(){ 
     $('.side-bar li').removeClass('active'); 
     //$(this).addClass('testing'); ### this does nothing ### 
     //var name = $(this).attr('name'); 
     //alert(name); ### this alerts as undefined ### 
     alert('x'); ### this alerts "x" ### 
    } 
); 

<div class="scroller"> 
    <a name="item-01" class="heading anchor-point"></a> 
    <p> Nunc ultrices eget sem ut blandit. Etiam tempor ultricies pellentesque. Ut orci quam, rutrum ac metus eu, rhoncus condimentum enim. Nulla ex quam, vehicula vel mauris eu, tincidunt vestibulum magna. Curabitur hendrerit elit in justo interdum facilisis. Vivamus fringilla cursus justo, vitae porttitor tellus vulputate euismod. Proin laoreet faucibus finibus. In sit amet commodo ex. Sed ut sollicitudin velit, quis ultricies justo. Pellentesque sollicitudin dignissim malesuada. Duis egestas hendrerit tellus, eget lacinia elit rutrum at. Aliquam ullamcorper laoreet nisl. Integer est dui, hendrerit non massa rhoncus, vulputate ultricies dolor. Nullam vel enim quis mauris condimentum tincidunt nec sed odio. Aliquam ultricies consectetur lorem. </p> 
</div> 
<div class="scroller"> 
    <a name="item-02" class="heading anchor-point"></a> 
    <p> Nunc ultrices eget sem ut blandit. Etiam tempor ultricies pellentesque. Ut orci quam, rutrum ac metus eu, rhoncus condimentum enim. Nulla ex quam, vehicula vel mauris eu, tincidunt vestibulum magna. Curabitur hendrerit elit in justo interdum facilisis. Vivamus fringilla cursus justo, vitae porttitor tellus vulputate euismod. Proin laoreet faucibus finibus. In sit amet commodo ex. Sed ut sollicitudin velit, quis ultricies justo. Pellentesque sollicitudin dignissim malesuada. Duis egestas hendrerit tellus, eget lacinia elit rutrum at. Aliquam ullamcorper laoreet nisl. Integer est dui, hendrerit non massa rhoncus, vulputate ultricies dolor. Nullam vel enim quis mauris condimentum tincidunt nec sed odio. Aliquam ultricies consectetur lorem. </p> 
</div> 
<div class="scroller"> 
    <a name="item-03" class="heading anchor-point"></a> 
    <p> Nunc ultrices eget sem ut blandit. Etiam tempor ultricies pellentesque. Ut orci quam, rutrum ac metus eu, rhoncus condimentum enim. Nulla ex quam, vehicula vel mauris eu, tincidunt vestibulum magna. Curabitur hendrerit elit in justo interdum facilisis. Vivamus fringilla cursus justo, vitae porttitor tellus vulputate euismod. Proin laoreet faucibus finibus. In sit amet commodo ex. Sed ut sollicitudin velit, quis ultricies justo. Pellentesque sollicitudin dignissim malesuada. Duis egestas hendrerit tellus, eget lacinia elit rutrum at. Aliquam ullamcorper laoreet nisl. Integer est dui, hendrerit non massa rhoncus, vulputate ultricies dolor. Nullam vel enim quis mauris condimentum tincidunt nec sed odio. Aliquam ultricies consectetur lorem. </p> 
</div> 
+0

Показать код jquery, который не работает. Если работает alert (x), это также сработает. –

+0

Это то, что я has has out из $ (this) .addClass ('testing'); –

+0

Также попытался var name = $ (this) .attr ('name'); предупреждение (имя); undefined –

ответ

0
$('.anchor-point').waypoint(
     var loc = this; 
     function(){ 
      $('.side-bar li').removeClass('active'); 
      $(loc).addClass('testing'); 
      alert('x'); 
     } 
    ); 

Попробуйте это .. я думаю, что $ (это) не в состоянии получить элемент DOM ,

Смежные вопросы