2

私は、divをその親に集中させるこのjQueryコードを持っています。

$(document).ready(function(){
    function move_div(){
        parent_width = $('.holder').parent().width();
        parent_height = $('.holder').parent().height();

        obj_width = $('.holder').width();
        obj_height = $('.holder').height();

        $('.holder').css('top', (parent_height / 2) - (obj_height / 2)).css('left', (parent_width / 2) - (obj_width / 2));
    }
        move_div();

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

これを複数の div で使用したかったのですが、コードがクラス 'holder' を使用して最初の div の高さと幅のみを取得するため、使用できませんでした ... 誰でもこれを解決できますか ... ?

4

1 に答える 1

0

.each()を使用して、すべての要素を 1 つずつループします。

$(this)クラスで現在の要素を参照するholder

$(document).ready(function () {
    function move_div() {
        $('.holder').each(function () {
            parent_width = $(this).parent().width();
            parent_height = $(this).parent().height();

            obj_width = $(this).width();
            obj_height = $(this).height();
            $(this).css('top', (parent_height / 2) - (obj_height / 2)).css('left', (parent_width / 2) - (obj_width / 2));
        });
    }
    move_div();
    $(window).resize(function () {
        move_div();
    });
});
于 2013-08-14T15:43:55.917 に答える