如何在图像上放大120%,150%和180%?

时间:2015-10-30 08:21:19

标签: javascript jquery magnific-popup

感谢您阅读我的帖子。

我正在使用Magnific Popup - 缩放功能。 我想知道如何设置放大%, 以及如何通过单击弹出图像进行3种不同的放大程度。

只想澄清我的障碍: 例如,我想点击放大的弹出图像,然后放大到120%,第二次点击,放大到150%,第三次点击,放大到180%,然后第四次点击,将缩小回来到100%。

有谁知道怎么做? 如果是的话,它对我有很大的帮助。 非常感谢你!

原始代码(有效):


$('#img').magnificPopup({ 
          delegate: 'a',
          type: 'image',
          callbacks: {
              open: function() {
                $(".mfp-figure figure").css("cursor", "zoom-in");
                $(".mfp-figure figure").zoom({ 
                    on: "click",
                    onZoomIn: function () {
                        $(this).css("cursor", "zoom-out");
                    },
                    onZoomOut: function () {
                        $(this).css("cursor", "zoom-in");
                    }
                });
              },
              close: function() {
                // Will fire when popup is closed
              }
              // e.t.c.
            }
        });

我的代码(没有用):


$('#img').magnificPopup({ 
          delegate: 'a',
          type: 'image',
          callbacks: {
              open: function() {
                $(".mfp-figure figure").css("cursor", "zoom-in");
                $(".mfp-figure figure").zoom({ 
                    on: "click",
                    onZoomIn: function () {
                        $(this).zoom({
                            on: "click",
                            onZoomIn: function(){
                            },
                            onZoomOut: function(){
                            }
                        });
                        $(this).css("cursor", "zoom-out");
                    },
                    onZoomOut: function () {
                        $(this).css("cursor", "zoom-in");
                    }
                });
              },
              close: function() {
                // Will fire when popup is closed
              }
              // e.t.c.
            }
        });

2 个答案:

答案 0 :(得分:1)

您可以使用类似下面的代码。这是一个简单的例子,您可以根据代码进行修改。

$("img").click(function(){
    var zoom = parseInt($(this).css("zoom"));
    if(zoom==180){
        $(this).css("zoom","100%");
    }else{
        $(this).css("zoom",zoom+20+"%");
    }
});

希望它有所帮助。

答案 1 :(得分:0)

最后,我放弃了放大镜弹出 - 缩放功能,并将其替换为css - zoom功能。

解决方案:


`var zoom_percent = "100";
        function zoom(zoom_percent){
            $(".mfp-figure figure").click(function(){
                switch(zoom_percent){
                    case "100":
                        zoom_percent = "120";
                        break;
                    case "120":
                        zoom_percent = "150";
                        break;
                    case "150":
                        zoom_percent = "200";
                        $(".mfp-figure figure").css("cursor", "zoom-out");
                        break;
                    case "200":
                        zoom_percent = "100";
                        $(".mfp-figure figure").css("cursor", "zoom-in");
                        break;
                }
                $(this).css("zoom", zoom_percent+"%");
            });
        }

        $('#img').magnificPopup({ 
          delegate: 'a',
          type: 'image',
          callbacks: {
              open: function() {
                  $(".mfp-figure figure").css("cursor", "zoom-in");
                  zoom(zoom_percent);
              },
              close: function() {
                // Will fire when popup is closed
              }
              // e.t.c.
            }

        });`

希望这可以帮助那些也在寻找它的人。