窗口上调整大小的框用jquery调整大小

时间:2012-09-21 12:33:32

标签: jquery each window-resize

以下是jsfiddle,您可以在其中查看以下代码。

我尝试在触发window resize事件时使用jquery调整所选框的大小。

但只有第一个框中的'selected'类受到影响。这是为什么?

如何让同一班级的其他方框工作?

HTML

    <ul class="selection">
        <li class="selected">selected 1</li>
        <li>2</li>
        <li class="selected">selected 3</li>
        <li class="selected">selected 4</li>
        <li>5</li>
        <li class="selected">selected 6</li>
    </ul>​

JQuery的

 $(window).resize(function(){


        $(".selected").each(function() {

            //Define ratio & minimum dimensions
            var minwidth = .5*(1024);
            var minheight = .5*(600);
            var ratio = 600/1024;

            //Gather browser and current size
            var imagewidth = $(this).width();
            var imageheight = $(this).height();
            var browserwidth = $(window).width();
            var browserheight = $(window).height();

            //Check for minimum dimensions
            if ((browserheight < minheight) && (browserwidth < minwidth)){
               $(this).height(minheight);
               $(this).width(minwidth);
            }
            else
            {    
             //When browser is taller    
             if (browserheight > browserwidth){
             imageheight = browserheight;
             $(this).height(browserheight);
             imagewidth = browserheight/ratio;
             $(this).width(imagewidth);

                 if (browserwidth > imagewidth){
                   imagewidth = browserwidth;
                   $(this).width(browserwidth);
                   imageheight = browserwidth * ratio;
                   $(this).height(imageheight);
                 }

               }

                    //When browser is wider
                    if (browserwidth >= browserheight){
                        imagewidth = browserwidth;
                        $(this).width(browserwidth);
                        imageheight = browserwidth * ratio;
                        $(this).height(imageheight);

                        if (browserheight > imageheight){
                            imageheight = browserheight;
                            $(this).height(browserheight);
                            imagewidth = browserheight/ratio;
                            $(this).width(imagewidth);
                        }
                    }
                }
                return false;
            });

            });


​

1 个答案:

答案 0 :(得分:1)

删除最后的return false;:此语句在第一次执行后打破each循环

示例小提琴:http://jsfiddle.net/YZKZL/1/