我有一个页面,它在名为“TINY box”的模态弹出框中加载动态内容。仅当单击相应链接时才会生成内容。然后我有一个名为 var innerhtml = "<div id ='"+d.name+"'>
的变量它在模式框中生成 div。
其中 d.name 是一个变量,它根据我的数据动态生成一个值。该 div 位于主模态框 div 内,每当用户打开链接并关闭框时,都会生成并销毁该模态框 div。
事实上,甚至盒子也是即时生成的:
var innerhtml2 = "<div id ='box'>
但是当盒子打开时,我希望盒子自动滚动到特定的 div (基于我上面提到的 id)。
我尝试了 ScrollTop、ScrollTo 和 Scrollintoview - 但我没有任何运气,因为模式框是动态创建和销毁的,而且我读到这些函数只有在页面完全加载后才起作用。是否可以编写一个程序,可以自动将动态生成的模态框滚动到其中动态生成的div?
那么我该怎么做呢?您需要代码片段吗?
提前致谢!
考希克
最佳答案
假设我理解正确,您可以在打开创建的框的函数中以及在将 div 添加到 DOM 之后使用以下 jquery 代码:
$('html, body').animate({
scrollTop: $("#"+d.name).offset().top
}, 1000);
这将滚动到元素的顶部,其 id 存储在变量 d.name 中,
关于javascript - 在动态和不可见的 div(小框)内滚动到内部的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16896438/