0

jqueryのクローン機能を使っているのですが、どうなるかよくわかりません。ドキュメントを読むと、 clone(true) を使用すると、すべてのイベントハンドラーをコピーする必要があることがわかります。しかし、これは起こっていません。

だから、私がやろうとしているのはライトボックスで、その中でズーム効果を複製しています。サイトはこちら

私が複製しようとしているズーム効果のある大きな写真を見ることができます。次にリンクをクリックする、ライトボックス効果が表示されますが、ズームは表示されません。

これがクリック機能です。これは私が行った機能です:

jQuery(document).ready(function(){
  var lb = '<div class="lb-cont"></div>'; 
  jQuery(lb).prependTo('body');

jQuery('.post').each(function(){

//code and vars to center the content....

obj.on('click','.vm',function(){

        var bh = jQuery('body').height();
        var contenido = jQuery('.light-cont', obj).clone(true).removeClass('hide');
        jQuery('.lb-cont').width(ww);
        jQuery('.lb-cont').height(bh);
        jQuery('.lb-cont').fadeIn('slow');
        contenido.appendTo('.lb-cont');
        return false;   

        });

)};
)};

それを機能させるための私の最後の意図は、コードにズーム効果を含めることでした。

obj.bind('click','.vm',function(){

        var bh = jQuery('body').height();
        var contenido = jQuery('.light-cont', obj).clone(true).removeClass('hide');
        jQuery('.lb-cont').width(ww);
        jQuery('.lb-cont').height(bh);
        jQuery('.lb-cont').fadeIn('slow');
        contenido.appendTo('.lb-cont');

//THIS IS THE ZOOM TRIGGER
jQuery('.imagess').epicZoom({}); 

        return false;   

        });

しかし、これが正しい方法であるかどうか、なぜ clone(true) と clone(true, true) が機能しないのかを知りたいです。

4

1 に答える 1

0
  $(document).ready(function () {
            var lb = '<div class="lb-cont"></div>';
            $(lb).prependTo('body');

            $('.post').each(function () {
                var obj = $(this);
                var verMas = $('.vm', obj)
                //medidas ventana
                var ww = $(window).width();
                var wh = $(window).height();

                //contenedor
                var contenedorInfo = $('.light-cont');
                //medidas del contenedor
                var lbw = contenedorInfo.width();
                var lbh = contenedorInfo.height();

                verMas.live('click', function () {
                    var bh = $('body').height();
                    var contenido = $('.light-cont', obj).clone(true, true).removeClass('hide');

                    $('.lb-cont').width(ww);
                    $('.lb-cont').height(bh);
                    $('.lb-cont').fadeIn('normal');
                    contenido.appendTo('.lb-cont');
                    var cerrar = '<div id="cerrar-cont"><div id="cerrar">X</div></div>';
                    $(cerrar).prependTo('.lb-cont .light-cont');
                    $('.imagess').epicZoom({});
                    var urlss = $('#facebook').attr('st_url');
                    stWidget.addEntry({
                        "service": "facebook",
                        "element": document.getElementById('facebook'),
                        "url": urlss,
                        "title": "sharethis",
                        "type": "large",
                        "text": "ShareThis",
                        "image": "http://www.softicons.com/download/internet-icons/social-superheros-icons-by-iconshock/png/256/sharethis_hulk.png",
                        "summary": "this is description1"
                    });
                    return false;

                });
            });

            $('#cerrar').live('click', function (event) {
                $('.lb-cont').fadeOut('normal');
            });

            function pos_obj(lbw, lbh, ww, wh) {
                contenedorInfo.css({
                    'margin-left': (ww / 2) - (lbw / 2) + 'px',
                    'margin-top': (wh / 2) - (lbh / 2) + 'px'
                });
            };

            pos_obj(lbw, lbh, ww, wh);

            $(window).resize(function () {
                ww = $(window).width();
                wh = $(window).height();
                lbw = contenedorInfo.width();
                lbh = contenedorInfo.height();
                contenedorInfo = $('.light-cont');
                $('.lb-cont').width(ww);
                pos_obj(lbw, lbh, ww, wh);
            });

        });

あなたのjqueryで2つまたは3つの '});' がなく、「;」が 1 つ がありません...確認してください...

于 2012-05-18T08:42:56.127 に答える