我似乎在使用“.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/