gpt4 book ai didi

jquery - 滚动 - 单击无法在固定侧边栏内滚动自定义滚动条

转载 作者:行者123 更新时间:2023-11-28 01:16:45 24 4
gpt4 key购买 nike

我制作了一个固定的侧边栏并应用了自定义滚动条(即 m.customscrollbar),但我希望在单击 anchor 标记时(在 Accordion 内部)我想在侧边栏顶部滚动 Accordion ,为此我如果侧边栏不是粘性的,则我使用的代码与我正在使用的代码相同,无法将正文或 html 滚动到单击的元素顶部位置。

我做错了什么?

不粘

这是侧边栏不粘的代码

$('.card > .collapse').on('shown.bs.collapse', function(e){
e.preventDefault();  
e.stopPropagation();
console.log('click');

var scrollToCategory = $(this).parent().offset().top;


var body = $("html, body");
body.stop().animate({scrollTop:scrollToCategory}, 500, 'swing', function() {
// alert("Finished animating");
});

})

粘性

如果侧边栏是粘性的,这里是代码

$('.card > .collapse').on('shown.bs.collapse', function(e){
e.preventDefault();  
e.stopPropagation();
console.log('click');

var scrollToCategory = $(this).parent().offset().top;


var body = $("#sidebar-wrapper");
body.stop().animate({scrollTop:scrollToCategory}, 500, 'swing', function() {
// alert("Finished animating");
});

})

这是 jsfiddle 链接

Non sticky

Sticky

注意: Sticky 示例似乎在 jsfiddle 中不起作用,请将示例复制并粘贴到另一个自定义文件中:)

最佳答案

最后,

经过大量搜索,我成功了。它只是一段代码已经在 m.custom scrollbar

解决方法如下:

$('.card > .collapse').on('shown.bs.collapse', function(e){

e.preventDefault();
e.stopPropagation();

var childPos = $(this).parent().offset();
var parentPos = $('#sidebar').offset();
var childOffset = {
top: childPos.top - parentPos.top,
left: childPos.left - parentPos.left
}

$("#sidebar-wrapper").mCustomScrollbar('scrollTo', '-='+childOffset.top);
});

关于jquery - 滚动 - 单击无法在固定侧边栏内滚动自定义滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51779714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com