使用Smooth Zoom Pan和PrettyPhoto添加地标

时间:2014-12-15 02:02:32

标签: jquery jquery-plugins prettyphoto

我正在使用JQuery插件Smooth Zoom Pan和PrettyPhoto:

http://codecanyon.net/item/smooth-zoom-pan-jquery-image-viewer/511142

这与2014年开发人员在smoothzoom中整合的PrettyPhoto功能一起工作正常。现在我想在smoothzoom的功能中添加地标。但是,示例和文档不包括使用PrettyPhoto时添加地标。

smoothzoom初始化为:

$('#yourImageID').smoothZoom({          
            width: 512,
            height: 384,
            pan_BUTTONS_SHOW: "NO",
            pan_LIMIT_BOUNDARY: "NO",
            button_SIZE: 24,
            button_ALIGN: "top right",  
            zoom_MAX: 200,
            border_TRANSPARENCY: 20,
            container: 'zoom_container',

            /******************************************
            Enable Responsive settings below if needed.
            Max width and height values are optional.
            ******************************************/
            responsive: false,
            responsive_maintain_ratio: true,
            max_WIDTH: '',
            max_HEIGHT: '',
        });


});

但是,使用PrettyPhoto的SmoothZoom与下面的代码类似,它似乎不适用于地标,并且缩放容器不是上面代码中的选项。

 $(".zoom a[rel^='prettyPhoto'], .zoom_thumb a[rel^='prettyPhoto']").prettyPhoto({
            default_width: canvasWidth,
            default_height: canvasHeight,
            autoplay_slideshow: false,
            opacity: 0.70,
            theme: 'pp_default',
            modal: true,
            overlay_gallery: false,
            changepicturecallback: setZoom,
            callback: closeZoom,
            social_tools: false,
            image_markup: '<div style="width:' + canvasWidth + 'px; height:' + canvasHeight + 'px;"><img id="fullResImage" src="{path}" /></div>',
            fixed_size: true,
            responsive: false,
            allow_expand: false,
            allow_resize: false,
            responsive_maintain_ratio: true,
            max_WIDTH: '',
            max_HEIGHT: ''
        }); 

不幸的是,开发人员不再提供支持或回复联系。不过它是一个很棒的插件。有一些很好的文档,但如上所述,没有显示使用smoothzoom和prettyphoto组合时如何使用地标:

Docs

我创建了一个显示标志性功能的小提琴,http://jsfiddle.net/7zqLstpg/2/

我还创建了一个小提琴,我试图在smoothzoom / prettyphoto popup灯箱中添加地标,我认为应该正常工作:

http://jsfiddle.net/14LjzLrk/10/

现在,如果有人可以指导我让最后一个小提琴工作吗?

2 个答案:

答案 0 :(得分:2)

PrettyPhoto可以通过以下方式用于iframe:

<a href='*SRC of iframe*?iframe=true' rel='prettyPhoto' title=''>
<img id="yourImageID" src="images/penguins.jpg" width="300" height="225" /></a>

在您设置为iframe源的文件中创建平滑缩放平移页面。

这将完成这项工作。

答案 1 :(得分:0)

好的,只需摆脱掉PrettyPhoto并使用JQuery和div在模态窗口中显示“平滑缩放平移”即可完全解决此问题:

HTML:

<div id='zoom_panel'>
    <div id="zoom_panel_top_box">
        <div id="zoom_panel_top_box_text"></div><div class="close" id="close_zoom_panel"></div>
    </div>
        <div id='zoom_container'>
        </div>
    </div>

jQuery

            $( '#search_list_container' ).on( 'click', '.zoom, .zoom_thumb', function () {
                        specimen = $( this ).attr( 'data-specimen' );
                        thumb = $( this ).attr( 'data-thumb' );
                        $.ajax( {
                            type: "POST",
                            url: 'scripts/get_zoom_image.php',
                            data: {
                                specimen: specimen,
                                thumb: thumb,
                            },
                            success: function ( data ) {
                            new tooltip();
                                $( '#zoom_container' ).html( data );
                                $( '#zoom_panel' ).show();
                                $( '#zoom_image' ).smoothZoom( {
                                    width: 723,
                                    height: 540,
                                    pan_BUTTONS_SHOW: "YES",
                                    pan_LIMIT_BOUNDARY: "NO",
                                    button_SIZE: 18,
                                    button_SIZE_TOUCH_DEVICE: 24,
                                    button_ALIGN: "bottom right",
                                    zoom_MAX: 200,
                                    border_TRANSPARENCY: 0,
                                    border_COLOR: '#5e5e5e',
                                    container: 'zoom_container',
                                    responsive: true,
                                    responsive_maintain_ratio: true,
                                    max_WIDTH: '',
                                    max_HEIGHT: ''
                                } );
                                $.ajax( {
                            type: "POST",
                            url: 'scripts/get_zoom_image_details.php',
                            data: {
                                specimen: specimen,
                            },
                            success: function ( specimen_data ) {
                            $('#zoom_panel_top_box_text').html(specimen_data);
                            }
                            });
        $('#black_overlay').fadeIn(500);
                            }
                        } );
                    } );

                        $( '#close_zoom_panel' ).click( function () {
                    $( "#zoom_panel" ).hide( 500 );
                    $('#black_overlay').fadeOut(500);
                } );