jquery изменить размер окна

у меня есть этот скрипт ниже, который изменит размер «.content» при изменении размера окна, он работает нормально, но единственная проблема в том, что он дергается, ждет, пока изменение размера не завершится, а затем изменяет размер «.content», есть ли ожидание, чтобы сгладить изменение размера что он изменяет размер при изменении размера окна?

JavaScript

function foo(){
    //e.cancelBubble = true; 
    $('.content').each(function (){
        p = $('.content').parent();
        var ch = 0;
        var cw = 0
        c = p.children().each(function (i,n){
            ch +=$(this).height()
            cw +=$(this).width()
        });
        $(this).height(p.height()-(ch-$(this).height()) )
            .width(p.width()-(cw-$(this).width()) )
        t = $('#tmp');
        t.text('p:height: ' +p.height()+' c:'+ch );
    });
}
$(window).resize(foo)

css

        html,body{height: 100%; width: 100%; margin: 0; padding: 0; }
        .holder{
            width: 100%;
            height: 100%;
            background: yellow;
        }
        .header{ 
            background-color: red;
        }
        .footer{ 
            background-color: brown;
        }
        .content{
            background-color: #eeeeee;
        }

HTML

<body onload="foo();" onresize="foo()">
    <div class="holder">
        <div class="header">
            #header
        </div>
        <div class="content">
            #content
            <div id="tmp">Waiting...</div>
        </div>
        <div class="footer">
            #footer
        </div>
    </div>
</body>

person Val    schedule 31.12.2009    source источник


Ответы (1)


Я думаю, вам следует использовать плагин jquery easing.

http://ajaxmint.com/2009/11/jquery-animation-easing-plugin-example/

Это сглаживает анимацию.

person Sarfraz    schedule 31.12.2009
comment
Если вы хотите использовать анимацию, не забудьте использовать stop() перед запуском анимации, чтобы не получить одновременно тысячи сложенных анимаций. - person Tatu Ulmanen; 31.12.2009