当前位置: 首页 > 知识库问答 >
问题:

jQuery-相对于窗口外的元素的位置

蒋权
2023-03-14

我有一个表和一个div,我想使用position()将div相对于表单元格放置:

var td1= $('#td1');
$("#Div1").position( { of: td1, my: 'left top', at: 'left top', offset: '0 5'} );

如果td1在窗口内(无水平滚动),则div放置正确。但是,如果桌子比窗口宽,则div放置错误(推到左侧)-位置()。top是正确的,但position()。左侧是这样的:div将完全位于窗口内。我试着把桌子放在一个足够宽(比窗户宽)的div里,但我仍然看到同样的行为。

关于如何正确定位div相对于窗口之外的元素的任何建议?

共有1个答案

栾昂雄
2023-03-14

jQueryUI似乎只允许使用collision属性在窗口内“装配”定位元素。只需使用,就可以在没有jqueryui的情况下实现相同的功能。css。偏移量。下面是一个演示:http://jsfiddle.net/imsky/XtV4K/

jQuery UI版本,保持div在视图中(虽然不是在确切的位置):

$(this).position({
            of: $("#td1"),
            my: "left top",
            at: "left top",
            offset: "0 5",
            collision: "fit"
        })

将div精确保存在所需位置的jQuery版本:

 $(this).css({
            left: $("#td2").offset().left + "px",
            top: $("#td2").offset().top + 5 + "px"
        });
 类似资料:
  • 问题内容: 我想知道如何相对于浏览器窗口获取HTML元素(例如和在JavaScript中)的X和Y位置。 问题答案: 正确的方法是使用: Internet Explorer自从你很可能就一直在支持此功能,并且最终在CSSOM Views中对其进行了标准化。所有其他浏览器很早以前就采用了它。 一些浏览器还返回height和width属性,尽管这是非标准的。如果你担心与旧版浏览器的兼容性,请查看此答案

  • 问题内容: 我想使用画布制作一个绘画应用程序。所以我需要找到鼠标在画布上的位置。 问题答案: 对于使用JQuery的人: 有时,当您拥有嵌套元素时,其中一个元素会附加事件,这可能会使您难以理解浏览器将其视为父级。在这里,您可以指定哪个父级。 您采用鼠标位置,然后从父元素的偏移位置中减去它。 如果要在滚动窗格内的页面上获取鼠标位置: 或相对于页面的位置: 请注意以下性能优化: 这样,JQuery不必

  • 问题内容: 确定元素相对于文档/正文/浏览器窗口的位置的最简单方法是什么? 现在,我正在使用,但是此方法只给您相对于父元素的位置,因此您需要确定body元素有多少个父元素,以了解相对于body /浏览器窗口/文档位置的位置。 这种方法也很麻烦。 问题答案: 您可以遍历DOM的顶层。

  • 如何根据具有绝对位置的子元素高度增加具有相对位置的父元素的高度。 在下面的例子中,父元素的高度显示为0px PS:我不想使用任何脚本 预期: 我得到的是: JSFIDLE 超文本标记语言: CSS:

  • 我创建了一个固定在页面底部的容器。但是,容器随后溢出页面,填充规则被完全忽略。我在论坛上搜索过,但找不到一个解决问题的方法。我试过使用position absolute,也试过使用Javascript计算滚动条宽度,但都没有用。 null null

  • 本文向大家介绍怎么让position:fixed相对于父元素定位?相关面试题,主要包含被问及怎么让position:fixed相对于父元素定位?时的应答技巧和注意事项,需要的朋友参考一下 1、 给父元素设置transform 2、 不设置top/right/bottom/left属性,用margin定位