jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 缩放和平移SVG的插件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一个很好的插件来轻松缩放和平移现有的SVG图像.我已经在使用一个名为 Jquery.panzoom插件,它运行良好但是当缩放SVG时会失去清晰度并变得模糊.不确定是否有人能引导我朝着正确的方向前进?

这是我的jQuery –

(function ($) {

    var $parent = $('#floor_plan');

    if($parent.length) {

        // set-up panzoom
        var $panzoom = $parent.find('.panzoom').panzoom({
            increment       : 0.5,minScale        : 1,maxScale        : 8,startTransform  : 'scale(4.0)',$zoomIn         : $parent.find('A[href=#zoom_in]'),$zoomOut        : $parent.find('A[href=#zoom_out]'),contain         : 'invert'
        }).panzoom('zoom',true);

        // handle scrolling in and out
        $panzoom.parent().on('mousewheel.focal',function (e) {

            e.preventDefault();

            var delta = e.delta || e.originalEvent.wheelDelta;
            var zoomOut = delta ? delta < 0 : e.originalEvent.deltaY > 0;

            $panzoom.panzoom('zoom',zoomOut,{
                increment   : 0.1,animate     : false,focal       : e
            });
        });
    }
})(jQuery);

和HTML –

<div id="floor_plan" class="hidden-xs hidden-sm">

    <div class="zoom-control">
        <a href="#zoom_in"><i class="fa fa-fw fa-plus-square-o"></i></a>
        <a href="#zoom_out"><i class="fa fa-fw fa-minus-square-o"></i></a>
    </div>
    <div class="close">
        <a href="#close_floor_plan"><i class="fa fa-fw fa-times"></i></a>
    </div>

    <div class="panzoom">
        <img src="http://blog.millermedeiros.com/wp-content/uploads/2010/04/awesome_tiger.svg" alt="Floor Plan" style="width: 100%; height: auto; display: block" />
    </div>
</div>

示例JSfiddle在这里http://jsfiddle.net/576a4qeh/1/

这里的原始演示(在页面底部) – http://timmywil.github.io/jquery.panzoom/demo/

尝试并放大(使用图像上的鼠标滚轮),你会发现它是模糊的.调整窗口大小,它会跳回到高质量.

期待您的想法和帮助.

谢谢!

解决方法

这是一个简单的方法

HTML:

<div class="panzoom">
    <div class="img"></div>
</div>

<input id="zoom" type="range" class="zoom-range" step="1" min="200" max="1500">

CSS:

.panzoom {
    overflow: scroll;
    width: 250px;
    height: 200px;
}
.panzoom .img {
    background: url('http://blog.millermedeiros.com/wp-content/uploads/2010/04/awesome_tiger.svg') no-repeat 0 0 fixed;
    min-height: 768px;
    min-width: 500px;
}

JS:

$("#zoom").change(function(){
    $(".panzoom .img").css("background-size",this.value + "px")
});

$('.panzoom .img').mousemove(function(e){
    var mousePosX = (e.pageX/$(window).width())*100;
    $(e.target).css('background-position-x',mousePosX +'%');
    var mousePosY = (e.pageY/$(window).height())*100;
    $(e.target).css('background-position-y',mousePosY +'%');
});

JSFiddle Demo

大佬总结

以上是大佬教程为你收集整理的jquery – 缩放和平移SVG的插件全部内容,希望文章能够帮你解决jquery – 缩放和平移SVG的插件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: