Javascript 有没有一种方法可以让一个滚动div触发另一个div使用jQuery滚动?
我使用了两个div元素 当用户滚动div#element-a时,我希望#element-a自动滚动到与#element-b相同的位置 我目前的代码如下:Javascript 有没有一种方法可以让一个滚动div触发另一个div使用jQuery滚动?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我使用了两个div元素 当用户滚动div#element-a时,我希望#element-a自动滚动到与#element-b相同的位置 我目前的代码如下: var currentPlan=$(“#current-A”), 选项计划=$(“#当前-B”), combinedScroll=选项Plan.scrollTop(); 选项Plan.scroll(函数(){ currentPlan.scroll(); }); #元素A, #元素B{ 宽度:50%; 高度:100vh; 浮动:左; 溢出:自动
var currentPlan=$(“#current-A”),
选项计划=$(“#当前-B”),
combinedScroll=选项Plan.scrollTop();
选项Plan.scroll(函数(){
currentPlan.scroll();
});代码>
#元素A,
#元素B{
宽度:50%;
高度:100vh;
浮动:左;
溢出:自动;
}
#元素A{
背景:橙色;
}
#元素B{
背景:黄色;
}
.内容{
垫底:100vh;
}
内容
内容
内容
内容
设target=$(“#current-B”)[0];
$(“#current-A”).滚动(函数(){
target.scrollTop=this.scrollTop;
});代码>
部分{
显示器:flex;
证明内容:之间的空间;
}
.滚动框{
宽度:200px;
高度:200px;
溢出y:滚动;
}
项目
项目
项目
项目
项目
项目
项目
项目
项目
项目
项目
项目
项目项目项目
项目
项目
项目
项目
项目
项目
项目
项目
项目
项目
项目
Jquery
$('#element-A').on('scroll', function () {
$('#element-B').scrollTop($(this).scrollTop());
});
CSS(如果不希望在同步的div中使用滚动条)
代码片段
$('#element-A')。在('scroll',函数(){
$('#element-B').scrollTop($(this.scrollTop());
});代码>
#元素B{
溢出:隐藏;
显示:内联块;
高度:100px;
位置:绝对位置;
右:50px;
}
#元素A{
显示:内联块;
高度:100px;
溢出:滚动;
宽度:155px;
}
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
如果将其设置为双向,则会中断(因此滚动另一个左div也会滚动右div)。这并不是问题中的要求,但我想这是OP想要的。它也没有说明如果内容长度不同会发生什么情况(或者按精确的像素量滚动,就像你提供的代码中那样,或者按滚动位置占总高度的百分比滚动),那么我们为什么不也添加scrollLeft呢?@Connum关于基于内容长度的滚动量,我洗耳恭听:)不,我不是指x/y或左/右意义上的双向,而是将两个div相互同步:)@Connum是的,我想将两个div垂直同步在一起
#element-B{
overflow : hidden;
}