2015-06-14 2 views
0

У меня есть 1 класс html с различными элементами. Я хочу добавить класс нового класса в первый элемент, который прокручивает верх, достигая вершины этих элементов, а затем, когда свиток достигает второго, добавляет второй и так далее. я попробовал этотjquery и прокрутка событий

var element = $(".element"); 
     $(window).scroll(function() { 
      var scroll = $(window).scrollTop(); 
      for(var i = 0; i < element.length;i++){ 
       if(scroll > element.eq(i)){ 
        element.eq(i).addClass("newClass"); 
       } 
    } 
}) 

HTML кусок

<div> 
    <div class="element"> 
     <img src="img/image1" /> 
    </div> 
    <div class="element"> 
     <img src="img/image2" /> 
    </div> 
    <div class="element"> 
     <img src="img/image3" /> 
    </div> 
</div> 

, но эта линия element.eq (я) .addClass ("NewClass") не работают :) как я должен делать

+0

Не могли бы вы добавить образец фрагмента HTML, который вы используете с указанным выше jQuery? – BuddhistBeast

ответ

1

пытаются использовать

if(scroll > element.eq(i).offset().top - ($(window).height()/2)){ 
    element.eq(i).addClass("newClass"); 
} 

DEMO

+0

использует верхние части первых элементов :(класс добавления работает, но он использует только верхний элемент из первого элемента –

+0

@Ricardopatrickmarinhodesou см. Http://jsfiddle.net/bmdLqxza/, он работает .. но если не работает, вы должны показать свою html-код –

+0

@Ricardopatrickmarinhodesou работает код http://jsfiddle.net/bmdLqxza/1/ .. не забудьте включить jquery –

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