灯箱显示在正确的位置(顶部/左侧居中),但是当用户放大时; lightobx保持在相同位置(不考虑窗口/视图已调整大小/裁剪),
您可以test this here点击标题的蓝色按钮
我正在检查灯箱的代码,我可以看到
$(window).bind('resize', $.proxy(function() {
if (this.visible)
{
this.overlay.resize();
if (!this.maximized) {
this.movebox();
}
}
}, this));
在哪里MOVEBOX()是:
function(w, h) {
var size = { x: $(window).width(), y: $(window).height() };
var scroll = { x: $(window).scrollLeft(), y: $(window).scrollTop() };
var height = h!=null ? h : this.esqueleto.lightbox.outerHeight();
var width = w!=null ? w : this.esqueleto.lightbox.outerWidth();
var y = 0;
var x = 0;
//vertically center
x = scroll.x + ((size.x - width) / 2);
if (this.visible) {
y = scroll.y + (size.y - height) / 2;
} else if (this.options.emergefrom == "bottom") {
y = (scroll.y + size.y + 14);
} else {// top
y = (scroll.y - height) - 14;
}
if (this.visible) {
if (!this.animations.move) {
this.morph(this.esqueleto.move, {
'left' : x
}, 'move');
}
this.morph(this.esqueleto.move, {
'top' : y
}, 'move');
} else {
this.esqueleto.move.css({
'left' : x,
'top' : y
});
}
}
问题是:我怎样才能正确计算新的高度和新的高度,因此灯箱遵循srcoll / zoom in android(以及在iphone中它移动了一下)
答案 0 :(得分:0)
我在move() element on window.resize() function not working on Android的回答可能会为您解释这个问题。我猜你用scrollLeft()遇到了一些问题。
悲伤的时候:(