2011-09-08 5 views
2

사용하려고 시도합니다 : 표시되고 작동하지 않습니다.jQuery 표시 선택기가 작동하지 않습니다.

$('.landscape:visible') 또는 $('.landscape').filter(':visible')

내 목표는, 눈에 보이는 풍경 사진 무엇이든의 변수를 만들어 그것을 높이의 잡아, 다음 일관성 세로 이미지에 그것을 적용하는 것입니다.

테스트를 위해 세 번째 탐색 버튼 #w이 변수 높이 vincent을 쓰도록 설정되었습니다.

테스트 사이트 : http://brantley.dhut.ch/

자바 스크립트 :

(function($){ 
    $.respond = function(callback) { 

     var element = $('#main'); 

     $('.z').hide(); 

     $(document).ready(function() { 
      dimensions(); 
     }); 

     $(window).load(function() { 
      dimensions(); 
      $('#load').fadeOut('fast', function() { 
       $('.z:first').fadeIn('slow'); 
       $('footer').fadeIn('slow'); 
      }); 
     }); 

     $(window).resize(function() { 
      dimensions(); 
     }); 

     //Adjust image size 
     function dimensions() { 
      return element.each(function() { 
       var i = $('.z', element); 
       $(i).each(function(){ 

        var browserWidth = $(window).width(); 
        var imgRatio = $(this).width()/$(this).height() 
        var availableHeight = ($(window).height() - $('header').height() - $('footer').height() - 80) 
        var browserRatio = browserWidth/availableHeight 
        var zzz = $('.z').height(); 
        /* resize functions 
        $(this).height(availableHeight).width('auto'); 
        $(this).width(browserWidth - 40).height('auto'); 
        */ 

        /* image sizing logic */ 

        if (imgRatio >= 1) { 
         $(this).addClass('landscape'); 
        } 

        var vincent = $('.landscape').filter(':visible').height(); 

        if (browserRatio >= imgRatio) { 
         if (availableHeight <= 312) { 
          /* Landscape */ 
          $('body').css('background', 'yellow'); 
          $(this).width(browserWidth - 40).height('auto'); 
         } else { 
          $(this).height(availableHeight).width('auto'); 
          $('body').css('background', 'green'); 
         } 
        } else { 
         if (availableHeight <= 312) { 
          /* Portrait */ 
          $('body').css('background', 'yellow'); 
          $(this).height(200).width('auto'); 
         } else { 
          $(this).width(browserWidth - 40).height('auto'); 
          $('body').css('background', 'blue'); 
         } 
        } 

        /* horizontally center content */ 
        $(this).css('margin-left', (browserWidth - $(this).width())/2); 
        $('#w').text(vincent); 

       }); 

       return false; 

      }); 
     }; 

    //callback(); 
    }; 
})(jQuery); 

답변

1

if ($('.landscape').is(':visible')){}

시도
관련 문제