jquery - mCustomScrollBar "scrollTo, divID"不工作

标签 jquery html scroll scrollto custom-scrolling

我似乎在使用“.mCustomScrollbar("scrollTo",divID)”函数滚动到某个元素时遇到问题。

我有一个 div (id="#wrapper") 包含很多 div(每个 20px 最多 800 个高度的 div)。

然后我将 mCustomScrollbar 添加到此 #wrapper div 以使用其自定义滚动条功能,如下所示:

$("#wrapper").mCustomScrollbar();

现在我有一个大的可滚动 div,其中包含 div 的“类列表”结构,而不是实际列表,只是像列表一样堆叠在一起的 div。

我页面的其他地方有一个按钮,其中包含“#wrapper”div 中的 div 元素的 id,当我单击此按钮时,我希望将 div 元素滚动到 View 中,这是我当前的尝试:

var divID = 'div[id^=' + clickedID +']';

$('#wrapper').mCustomScrollbar("scrollTo",divID);

此函数声称将“divID”滚动到#wrapper div 中的 View 中,它确实但是我遇到的问题是,它有时需要 2 - 4 次调用“scrollTo”函数“divID”进入视野。

谁能帮我理解为什么“divID”在第一次调用“scrollTo”函数时没有滚动到 View 中,以及我如何让它按预期工作?

亲切的问候

最佳答案

我知道我来晚了一点,但也许我可以帮助你(或落在这里的人)...

我遇到了同样的问题。想要滚动到列表中的选定项目(选定类的 li),并解决了只传递我想要滚动的像素的问题。

像这样的东西:

var objPixelScrollIntoView = $('#myObjToScrollIntoView')[0].offsetTop;
$('#myDivSetWith_mCustomScrollbar').mCustomScrollbar("scrollTo", objPixelScrollIntoView);

或者,特别针对您的情况:

var objDivPosition = $('div#' + clickedID)[0].offsetTop;  // The 'div' before '#' is not necessary, but I want to keep some reference to Your selector
$('#wrapper').mCustomScrollbar("scrollTo", objDivPosition);

关于jquery - mCustomScrollBar "scrollTo, divID"不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21564762/

相关文章:

jquery - Kendo UI,使用 MVVM 时如何从 DOM 元素获取小部件对象?

javascript - 在每个函数中使用 jquery 数据属性

php - mysql 中的嵌套选择

svg - 如何在 svg tiny 中 overflow hidden 效果

javascript - jQuery 更改滚动顶部值

javascript - 我的代码的平滑效果

java - 如果想使用 jQuery,哪个 Java Web 框架最好

JavaScript 嵌套 for 循环向对象添加值

javascript - 包装列表项的id并将其保存在表td中

html - CSS 过渡闪烁