jQuery可见选择器无法正常工作

时间:2011-09-08 23:23:34

标签: javascript jquery class filter visible

尝试使用:可见并且它无效。

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

我的目标是制作一个可见的景观图片的变量,抓住它的高度,然后将其应用于肖像图像以保持一致。

出于测试目的,第三个导航按钮#w设置为使用变量vincent来写入高度。

测试网站:http://brantley.dhut.ch/

JavaScript的:

(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 个答案:

答案 0 :(得分:1)

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