当窗口大小调整时更改 div 偏移量。 jQuery

发布于 2024-11-16 04:14:32 字数 640 浏览 4 评论 0原文

我正在使用 Fancybox 插件。当它加载时,我在“关闭”按钮旁边插入一个图像(预览注释)并以这种方式定位它:

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 关闭按钮的左侧,但无法正确进行偏移(并且看起来没有按时更新)。

谢谢'

I'm using Fancybox plugin. When it loads I insert an image (preview comments) next to the Close button and position it this way:

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

This way when the window is resized the image stays right as it had an absolute position. I've also tried:

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();            
});

When I minimize the window, this image moves away to the right. If I continue resizing the window the image goes back to the left of the Fancybox close button but doesn't make the offset correctly (and it looks like it doesn't update on time).

Thanks'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋叶绚丽 2024-11-23 04:14:32

好的,我解决了问题。

我将 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();

Ok, I solved the problem.

I appended the div to the image (I could only do it through .ax-window, not fancybox-img) and then applied the offset. It was not necessary to apply the window resize. this is the final code:

$("#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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文