2

jQuery を使用して複数の div をナビゲートできるスクリプトを作成しましたが、6 番目の div が表示され、.is(":visible") を使用してもうまくいかない場合は、親に CSS の変更を加えたいと考えています。 .

$(document).ready(function() {
  /* Set the frame to #sf1 */
    $('#sf2, #sf3, #sf4, #sf5, #sf6').hide(); 
  /* Slide Animation for Next Slides */
    $('.nextbutton').click(function() { 
      $(this).parents('li').fadeOut(300);
      $(this).parents('li').next().fadeIn(300);
      if ($('#sf6').is(":visible") == "true") {
        alert('that just happened');
        $('#stepForm').css('height', 'auto !important');
      }
    }); 
  /* Slide Animation for Previous Slides */
    $('.prevbutton').click(function() { 
      $(this).parents('li').prev().fadeIn(300);
      $(this).parents('li').fadeOut(300);
    }); 
}); 
4

3 に答える 3

2

変更する必要があります

if ($('#sf6').is(":visible") == "true") {

ただ

if ($('#sf6').is(":visible")) {
于 2010-09-02T21:16:33.470 に答える
0

表示されるcssプロパティをテストしてみませんか...

var dis = $('#sf6').css('display');
if (dis == 'visible' || dis == 'block'){
  // do something
}
于 2010-09-02T21:16:37.417 に答える
0

次のように長さプロパティをテストすることで、1 つのセレクターですべてをキャプチャできます。

if ( $('#sf6:visible').length ) {...

この方法で少し速くなるはずです。私はそれをそこに捨てると思った。:o)

于 2010-09-02T21:30:31.890 に答える