2011-07-19 21 views
0

されていない場合:このマークアップとともにremoveClass何も私はこのjQueryのを持っているslideDown

$('.infoExpand p').hide(); 
$('.infoData').click(function(){ 
    $('.infoData').removeClass('infoDataHov'); 
    $(this).addClass('infoDataHov'); 
    var id = this.id; 
    id = id.replace("tab", "info"); 
    var clicked = $('.infoExpand #' + id); 
    if (clicked.is(':visible')){ 
     clicked.slideToggle(); 
    }else{ 
     $('.infoExpand p:visible').slideToggle(); 
     clicked.slideToggle(); 
    } 

}); 

:ユーザーが(スライディングすでに選択されているのと同じタブに当たったとき

<div class="infographic"> 
     <p>What am I made of...</p> 
     <span id="tabPhp" class="infoData">PHP</span> 
     <span id="tabJquery" class="infoData">jQuery</span> 
     <span id="tabWordpress" class="infoData">WordPress</span> 
     <span id="tabCss3" class="infoData">CSS3</span> 
     <span id="tabMysql" class="infoData">MySQL</span> 
     <div class="infoExpand"> 
      <p id="infoPhp">PHP</p> 
      <p id="infoJquery">jQuery</p> 
      <p id="infoWordpress">Wordpress</p> 
      <p id="infoCss3">CSS3</p> 
      <p id="infoMysql">MySQL</p> 
     </div> 
    </div> 

私が持っている問題がありますP要素を上げる)、タブにはまだ 'infoDataHov'クラスが適用されていますか?

何もslideDownがない場合、すべての.infoDataからremoveClassを削除できますか?

答えて

1

あなたのコードには既に$('.infoData').removeClass('infoDataHov');という行があります。それはあなたが欲しいものを行います。)あなたは、あなたがそうあなただけ$(this).removeClass('infoDataHov');を使用することができますが、この場合でからクラスを削除する要素を知っている:私はベッドに行く必要が

$('.infoExpand p').hide(); 
$('.infoData').click(function(){ 
    $('.infoData').removeClass('infoDataHov'); 
    $(this).addClass('infoDataHov'); 
    var id = this.id; 
    id = id.replace("tab", "info"); 
    var clicked = $('.infoExpand #' + id); 
    if (clicked.is(':visible')){ 
     $(this).removeClass('infoDataHov'); 
     clicked.slideToggle(); 
    }else{ 
     $('.infoExpand p:visible').slideToggle(); 
     clicked.slideToggle(); 
    } 

}); 
+0

。ありがとう:) – benhowdle89

関連する問題