Javascript 如何滚动以使特定元素位于div可见区域的中间? 我有一系列的列表项,我想把每一个特定的项目放在它们的父div的可见区域的中间。所以第一个元素可以滚动到中间,我在它之前添加了一些虚拟项目。(以及列表项的末尾)。这是我的职责: function scrollToMiddleView(elem) { if (elem) { var main = $("#container"); m = main.scrollTop() + main.height() / 2; t = main.offset().top + m; main.animate({scrollTop: elem.offset().top - t}, 500); } }
我在一系列元素上测试它。它适用于某些元素,而不适用于某些其他元素。当滚动条位于顶部时,我工作。我希望每个元素都精确地位于中间。 < P>这是起作用的函数。必须从Javascript 如何滚动以使特定元素位于div可见区域的中间? 我有一系列的列表项,我想把每一个特定的项目放在它们的父div的可见区域的中间。所以第一个元素可以滚动到中间,我在它之前添加了一些虚拟项目。(以及列表项的末尾)。这是我的职责: function scrollToMiddleView(elem) { if (elem) { var main = $("#container"); m = main.scrollTop() + main.height() / 2; t = main.offset().top + m; main.animate({scrollTop: elem.offset().top - t}, 500); } },javascript,jquery,html,Javascript,Jquery,Html,我在一系列元素上测试它。它适用于某些元素,而不适用于某些其他元素。当滚动条位于顶部时,我工作。我希望每个元素都精确地位于中间。 < P>这是起作用的函数。必须从main.offset().top中减去main.scrollTop(),然后从elem.offset().top中减去结果 function scrollToMiddleView(elem) { if (elem) { var main = $("#container"); m = main.he
main.offset().top
中减去main.scrollTop()
,然后从elem.offset().top
中减去结果
function scrollToMiddleView(elem) {
if (elem) {
var main = $("#container");
m = main.height() / 2;
t = main.offset().top - main.scrollTop() + m;
q = elem.offset().top - t;
main.animate({scrollTop: q}, 500);
}
}