1

.portrait_textコンテナ()の前にdiv()を追加しようとしてい.gallery_containerます:

すべての画像は、対応するに付加されます.gallery_containerしかし、私は次のすべての .portrait_textdivをそれに追加したいと思い.gallery_containerます。何か案は?

<div id="gallery_images_inner" class="clearfix">
    <img src="img/portrait.jpg" alt="portrait" width="850" height="557">
    <div class="portrait_text">Girls After Swim</div>
    <img src="img/gallery5.jpg" alt="gallery5" width="850" height="566">
    <div class="portrait_text">Girls After Swim</div>
</div>

JS:

function Gallery(selector) {
    this.add_module = function (type, image) {
        var container = $('<div />', {
            'class': 'gallery_container'
        }).append(image);

        if (type == 'horizontal') {
            var h_ar = image.attr('height') / image.attr('width');
            var c_width = selector.width();
            var c_height = selector.width() * h_ar
            container.css({
                'width': c_width - 60,
                'height': c_height
            })
        }
        if (type == 'vertical') {
            var c_width = v_width;
            var c_height = v_height
            container.css({
                'width': Math.floor(v_width) - 30,
                'height': v_height
            })
        }
        container.css({
            'float': 'left',
            'overflow': 'hidden'
        })
        container.find('img').attr({
            'width': '100%',
            'height': '100%'
        })
        container.attr('ar', c_height / c_width)
        container.appendTo(selector);

        //container.children('img').fitToBox();
    }
}
4

2 に答える 2

0

imageコードが示唆しているように、がjQueryオブジェクトとして渡されている場合は.next()、テキストを選択するためにも使用できます。

function Gallery(selector) {
    this.add_module = function (type, image) {
        var portrait_text = image.next('.portrait_text');
        var container = $('<div />', {
            'class': 'gallery_container'
        }).append(image).append(portrait_text);
        ...
    }
}

もちろん、これは追加であり、追加を要求しましが、概念は同じです。

于 2013-02-25T19:05:57.250 に答える
0

jQueryには次のセレクターがあるので、次のことができます

$(selector).next(".portrait_text").appendTo(container);

于 2013-02-25T19:04:29.493 に答える