Javascript使一个组件动态地跟随另一个组件

Javascript使一个组件动态地跟随另一个组件,javascript,jquery,Javascript,Jquery,我有一个动态呈现的div/span,它需要跟随一个特定的组件,例如文本框。当前,它被设置为页面上的特定坐标,并显示在文本框的正下方。但当文本框上方的div被折叠/展开(即,它位于文本框上方/下方)时,就不再是这样了 可以将其视为单击搜索按钮后出现在搜索结果框下的搜索结果区域,但当搜索文本框上方的随机div折叠/展开时,搜索结果区域会移动 我非常肯定,一点javascript就能解决这个问题。我试着在谷歌上搜索,但很难找到合适的关键词(而且我的搜索词组并没有给我多少回报) 正在讨论的div/spa

我有一个动态呈现的div/span,它需要跟随一个特定的组件,例如文本框。当前,它被设置为页面上的特定坐标,并显示在文本框的正下方。但当文本框上方的div被折叠/展开(即,它位于文本框上方/下方)时,就不再是这样了

可以将其视为单击搜索按钮后出现在搜索结果框下的搜索结果区域,但当搜索文本框上方的随机div折叠/展开时,搜索结果区域会移动

我非常肯定,一点javascript就能解决这个问题。我试着在谷歌上搜索,但很难找到合适的关键词(而且我的搜索词组并没有给我多少回报)

正在讨论的div/span在jQuery中动态呈现。我想知道快速解决方案是什么样子的


谢谢。

您想要的是:

$('<div>Search completed</div>').insertAfter('#searchBox');
$('Search completed')。在('searchBox')之后插入;
这将在id为“searchBox”的
后面立即插入DIV。

我“认为”我理解您的问题。。。您能否将文本框和div/span包装在另一个div中,并将其放置在后面

javascript解决方案不是很漂亮,因为每次折叠另一个div或页面上任何会影响文本框位置的更改时,都必须重新定位“results”div。如果您想这样做,那么可以使用offset()函数

var myInputOffset = $('#MyTextBoxID').offset(); // Get the position of the input field relative to the document
$('#MyDivID').css({top: myInputOffset.top + 50; left: myInputOffset.left }); // Position the div

注意:div应该定位为绝对值,50是一个任意数字,可以将其向下移动到低于输入字段的位置。

对于文本框和搜索结果区域上方的div,在“收缩”时将其隐藏,而不是根本不存在。我认为这可能有助于保持现状

这听起来像是文本框保持在相同的位置,而底部div出现了?如果是这样的话,文本框周围是否有任何东西可能使其表现出这种行为?(或者文本框是否向上移动,而底部div是否更高?)

固定-生成一个绝对 定位元素 相对于浏览器窗口。这个 元素的位置由 “左”、“上”、“右”和 “底部”属性


您可以使用它来保持底部div的位置,而不管周围发生了什么变化。

有代码吗?图表?错误?你的问题有点模棱两可,具体是什么问题。谢谢你的代码。我有很多类似的东西,结果就像我描述的那样:当搜索内容上方的div展开/折叠时,搜索结果框似乎保持静止,或者当我上下滚动页面时“浮动”。如果刷新页面,则搜索结果框会重新定位自身。我希望搜索结果框始终位于搜索文本框下方,而不管搜索区域上方的内容是否折叠/扩展。我想在javascript中的事件下添加一些代码,但是。。。没有这样的事件符合要求。@BeraCim-不确定是否有帮助,但有一个属性监视插件,您可以在搜索文本框的位置发生变化时,将其附加到搜索文本框以更新div的位置。。。但是在没有看到您是如何实现这一点的情况下,我不能说它是否有任何用处。这里是链接:谢谢你的链接。我也想到了不断地重新绘制结果框的想法,但正如链接所描述的,它看起来有点起伏。不过,它现在可以完成这项工作。谢谢