2016-05-06 4 views
2

Я добавил класс active на прокрутке до .content-single с jQuery. Я также хочу добавить другой класс в # с-прокруткой на базовом, на котором активный класс добавляется динамически.Как выбрать класс, динамически добавленный с помощью jquery?

Вот мой HTML

<div id="with-scroll" class="single with-scroll"> 
      <div class="row"> 
      <div class="outer-navigator"><a href="#" class="tl-navigator three">3</a></div> 
      <div class="col s12 center-align third-title"> 
      <h2>Lorem ipsum dolor sit amet</h2> 
      </div> 
      <div class="col m6 s6"> 
       <div class="text-content"> 
       <h3>Lorem ipsum,<br> 
        in real time.</h3> 
        <div id="content-single-one" class="content-single"> 
        <a href="#scroll1"></a> 
         <i class="material-icons">supervisor_account</i> 
         <h4 id="scroll1" class="section scrollspy">Lorem ipsum dolor sit amet</h4> 
         <p>Lorem ipsum, your workers, your team and 
         companies perform side by side - in real-time.</p> 
        </div> 

        <div id="content-single-two" class="content-single"> 
        <a href="#scroll2"></a> 
        <i class="material-icons">av_timer</i> 
         <h4 id="scroll2" class="section scrollspy">Lorem ipsum</h4> 
         <p>Lorem ipsum with the help of screenshotting,<br> 
         screen recording orem ipsum monitoring.<br> 
         Know exactly what was done and when. 
         </p> 
        </div> 

        <div id="content-single-three" class="content-single"> 
        <a href="#scroll3"></a> 
        <i class="material-icons">group_work</i> 
         <h4 id="scroll3" class="section scrollspy">Lorem ipsum</h4> 
         <p>Lorem ipsum, your worers, team and compa nies <br> 
         perform side-by-side - in real-time. <br> 
         Iden tify bottlenecksand getan eagle-eye view <br> 
         of your business. </p> 
        </div> 
       </div> 
      </div> 
      <div class="col m6 s6" id="screen-sticky"> 
      <div class="screen"> 
       <img src="images/macbook.png"> 
        <div class="inner one"> 
        <img src="images/screen-1.png"> 
        </div> 
        <div class="inner two"> 
        <img src="images/screen-2.png"> 
        </div> 
        <div class="inner three"> 
        <img src="images/screen-3.png"> 
        </div> 
       </div> 
      </div> 
      </div> 
     </div> 

А вот Jquery Я пытаюсь выбрать

$(function() { 
    $("#content-single-one.active").each(function(){ 
    $("#with-scroll").addClass("one"); 
    }); 
    $("#content-single-two.active").each(function(){ 
    $("#with-scroll").addClass("two"); 
    }); 
    $("#content-single-three.active").each(function(){ 
    $("#with-scroll").addClass("three"); 
    }); 
}); 
+1

Ваш пример логика странно , Почему вы делаете каждый по одному элементу? И если активный не находится ни на одном из этих элементов в начале, ни один из них не будет выполняться. Вам нужно будет сделать свою логику в какой-то момент после добавления класса к одному из этих элементов. В этом случае вам не нужен if. Вы знаете, какой из них вы только что добавили ... – Taplar

+0

Предположим, # content-single-two получит класс. Active на scroll –

+0

Хорошо, тогда в этот момент сделайте все, что вам нужно сделать, чтобы другие вещи были основаны на том, что вы просто положили класс в этом элементе ... $ ('selector') не находит вещей, которые еще не существуют. Если вы измените что-то, чтобы соответствовать этому селектору после его запуска, он не найдет их. Этот селектор не подвергается постоянной переоценке. – Taplar

ответ

2

Вы можете проверить, если есть класс активного

$(document).scroll(function(){ 
    if($("#content-single-one").hasClass('active')){ 
     $("#with-scroll").addClass("one"); 
    }else if($("#content-single-two").hasClass('active')){ 
     $("#with-scroll").addClass("two"); 
    }else if($("#content-single-three").hasClass('active')){ 
     $("#with-scroll").addClass("three"); 
    } 
}) 
+1

Селекторы внутри события прокрутки неэффективны, так как прокрутка очень много. Лучше кэшировать их вне переменных и использовать переменные в обработчике. – Taplar

+0

Спасибо. это сработало. –

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