jQuery可见定位问题

时间:2010-09-02 21:13:04

标签: javascript jquery html transitions

我已经制作了这个脚本,允许你使用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);
    }); 
}); 

3 个答案:

答案 0 :(得分:2)

你应该改变

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

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

答案 1 :(得分:0)

为什么不测试使其可见的css属性......

var dis = $('#sf6').css('display');
if (dis == 'visible' || dis == 'block'){
  // do something
}

答案 2 :(得分:0)

您可以通过测试长度属性在一个选择器中捕获它:

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

这种方式应该快一点。只是以为我会把它扔出去。 :O)