Javascript 滚动隐藏溢出的div,将其中的元素居中

Javascript 滚动隐藏溢出的div,将其中的元素居中,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个div,里面有几个元素。它们中的每一个都用作页码,当我单击其中一个时,container div必须滚动到该元素的中心 div有一个overflow:hidden行为,所以我必须找到div的实际大小,而不仅仅是它的可见部分 您可以在javascript中使用滚动高度: document.getElementById("container").scrollHeight; 或jQuery $("#container")[0].scrollHeight; 这里的示例:您可以在javascr

我有一个div,里面有几个元素。它们中的每一个都用作页码,当我单击其中一个时,container div必须滚动到该元素的中心


div有一个overflow:hidden行为,所以我必须找到div的实际大小,而不仅仅是它的可见部分

您可以在javascript中使用滚动高度:

document.getElementById("container").scrollHeight;
或jQuery

$("#container")[0].scrollHeight;

这里的示例:

您可以在javascript中使用滚动高度

document.getElementById("container").scrollHeight;
或jQuery

$("#container")[0].scrollHeight;

这里的示例:

首先需要找到div的内部宽度。 您可以使用:

$("#divOverflowHidden")[0].scrollWidth
现在需要计算元素的位置,该位置必须如下所示:

代码应该是这样的:

现在您需要使用
$(“#divOverflowHidden”)将滚动条移动到右侧位置。如果您有水平滚动条,则向左滚动()
;如果您有垂直滚动条,则向左滚动()
$(“#divOverflowHidden”)。滚动顶部()

结果是,元素将显示在溢出div的左侧。要使元素居中,可以将计算结果减去溢出div外部宽度的一半。因此,新公式为:

(({element index} * {overflow hidden div inside width}) / {number of elements}) - ({overflow hidden div ouside width} / 2)
最后

((index * $("#divOverflowHidden")[0].scrollWidth) / total) - $("#divOverflowHidden").width() / 2)

首先,您需要找到div的内部宽度。 您可以使用:

$("#divOverflowHidden")[0].scrollWidth
现在需要计算元素的位置,该位置必须如下所示:

代码应该是这样的:

现在您需要使用
$(“#divOverflowHidden”)将滚动条移动到右侧位置。如果您有水平滚动条,则向左滚动()
;如果您有垂直滚动条,则向左滚动()
$(“#divOverflowHidden”)。滚动顶部()

结果是,元素将显示在溢出div的左侧。要使元素居中,可以将计算结果减去溢出div外部宽度的一半。因此,新公式为:

(({element index} * {overflow hidden div inside width}) / {number of elements}) - ({overflow hidden div ouside width} / 2)
最后

((index * $("#divOverflowHidden")[0].scrollWidth) / total) - $("#divOverflowHidden").width() / 2)