感谢您阅读我的帖子。
我正在使用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.
}
});
答案 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.
}
});`
希望这可以帮助那些也在寻找它的人。