1

我在精美的盒子内容中有以下代码。我有链接,它将调用另一个花哨的盒子 iframe。第二个页面的宽度和高度将与第一个 iframe 页面不同。所以我在第二页使用以下代码重新调整了花式框 iframe 的大小,

   jQuery(function(){
                        //jQuery('div[id^=fancybox]').remove();
                        jQuery('#fancybox-frame', window.parent.document).load(function() { 
                            parent_fb_resize(560,444);            
                            jQuery('#fancybox-wrap').css('margin','auto');                    
                        });                            
});

使用以下代码重新调整 iframe 的大小,

function parent_fb_resize(w, h) {  
  if (w > 0 || h > 0) {

    if (w > 0) jQuery('div#fancybox-wrap', window.parent.document).css({ width: (w)+"px"});
    if (h > 0) jQuery('div#fancybox-wrap', window.parent.document).css({ height: (h)+"px"});
    if (w > 0) jQuery('#fancybox-content', window.parent.document).css({ width: w+"px"});
    if (h > 0) jQuery('#fancybox-content', window.parent.document).css({ height: h+"px"});
    jQuery.fancybox.resize();
    jQuery.fancybox.center();

  }
}
function fb_close_any() {
  window.top.eval('jQuery.fancybox.close()');
}

function fb_resize_any(w, h) {
  w = (w > 0) ? w : 0;
  h = (h > 0) ? h : 0;
  window.top.eval('fb_resize('+w+','+h+')');
}

到目前为止,一切都很好。此代码调整第二页的大小。但是由于id中的 left 属性,重新调整大小的花式框不在中心位置 fancybox-wrap

{
display: block;
height: 444px;
left: 271px;
margin: 0 auto;
top: 20px;
width: 560px;
}

在这里,我需要找到页面的中心,并且需要在jQuery('#fancybox-frame', window.parent.document).load(). 请对此提出建议?

4

1 回答 1

0

为什么left: 271px;CSS中有偶数?它不需要使元素居中,就是margin: 0 auto;这样。我建议只是摆脱它,因为这可能是你的问题。

这是一个 Jsfiddle 来演示我的意思

http://jsfiddle.net/fPqqT/

如果你不能摆脱左边的css,也许在你调整大小时将它设置为0px?

$("#fancybox-wrap").css("left", 0);
于 2012-10-03T12:08:19.937 回答