0

何時間もの間、私は自分のスライドショーを作成して、JavaScriptを試してみました。

私のサイトのすべての画像を含むオブジェクト$picがあります。これまでのところ問題ありません。私の画像は私のサイトに親指として表示されます。

ここで、.rightslideボタンをクリックすると、slidenavi()関数により、スクリプトは現在の画像の次の画像と前の画像を取得します。それも機能します。ただし、slidenavi()関数が返すオブジェクトはディープコピーされないため、代わりにコピーする必要のある画像が削除されます...したがって、コピーはまったくありません。

私に何ができる?

    function slidenavi(image_src){
        $nextpic_index="";
        $prevpic_index="";
        $nextpic="";
        $prevpic="";

        $pics.each(function (index) {
            if (this.src== image_src){
                $nextpic_index=index+1;
                $prevpic_index=index-1;
            } 
        })
        nextpic=$pics.eq($nextpic_index);
        prevpic=$pics.eq($prevpic_index);
        img = {
            prev:prevpic,
            next:nextpic
        };

        return img
    }

    $('.rightslide').click(function(){
        var slidenaviobject=slidenavi($(this).parent().siblings('img').attr('src'));
        var copyimage = jQuery.extend(true, {}, slidenaviobject);
        console.log(copyimage.next);
        $('.slideshow-wrapper').append(copyimage.next);        

    }) 
4

1 に答える 1

2

nextpic(jQueryでラップされた)DOMノードへの参照です。.clone()追加するときは、DOMノードを使用する必要があります。

于 2012-10-02T10:17:36.233 に答える