2011-06-19 71 views
0

我正在使用Fancybox插件。当它加载我插入旁边的关闭按钮和位置是这样的图像(预览评论):当窗口调整大小时更改div偏移量。 jquery

var p = $("#fancybox-close"); 
var offset = p.offset(); 
$("#preview_comments").offset({ top: offset.top, left: offset.left-30}); 

当窗口大小的图像通过这种方式保持正确的,因为它有一个绝对位置。我也试过:

function pcomments() { 
    var p = $("#fancybox-close"); 
    var offset = p.offset(); 
    $("#preview_comments").offset({ top: offset.top, left: offset.left-30}); 
}; 

pcomments(); 

$(window).resize(function() {   
    pcomments();    
}); 

当我最小化窗口,这个图像移动到右边。如果我继续调整窗口大小,图像会返回到Fancybox关闭按钮的左侧,但不会正确设置偏移量(并且看起来好像没有按时更新)。

谢谢'

+0

您是否有示例页面?我在这里看到的行为有问题 –

+0

http://portfolio.ansi31.com/preview_11p.html点击图片,#preview_comments并关闭willl出现在右上角。谢谢 – alvaro

回答

0

好的,我解决了这个问题。

我将div附加到图像上(我只能通过.ax-window,而不是fancybox-img)然后应用偏移量。没有必要应用窗口大小调整。这是最终代码:

$("#preview_comments").appendTo('.ax-window'); 
$("#preview_comments").css("position","relative"); 

function pcomments() { 
    var p = $("#fancybox-close"); 
    var offset = p.offset(); 
    $("#preview_comments").offset({ top: offset.top, left: offset.left-30}); 
}; 

pcomments();