Javascript 如何防止滚动方向?

Javascript 如何防止滚动方向?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,注意:此问题是对的更新 我希望得到一个可以滚动到一个方向的div元素(在我的例子中,只有“right”)。向左滚动应该被取消 我已经开发了一些jQuery代码,应该能够防止在不需要的方向上滚动,到目前为止,什么样的正在工作 但我遇到了一些问题,因为滚动到被阻止的方向显然看起来超级粘&丑陋 let value=$(“#父项”).scrollLeft() $(“#父项”)。滚动(函数(e){ let direction=(this.scrollLeft>value)?'right':((this

注意:此问题是对的更新


我希望得到一个可以滚动到一个方向的div元素(在我的例子中,只有“right”)。向左滚动应该被取消

我已经开发了一些jQuery代码,应该能够防止在不需要的方向上滚动,到目前为止,什么样的正在工作

但我遇到了一些问题,因为滚动到被阻止的方向显然看起来超级粘&丑陋

let value=$(“#父项”).scrollLeft()
$(“#父项”)。滚动(函数(e){
let direction=(this.scrollLeft>value)?'right':((this.scrollLeft==value)?false:'left');
控制台日志(方向)
如果(方向=“左”){
this.scrollLeft=值;
e、 预防默认值();
e、 停止传播();
}
值=$(“#父项”).scrollLeft()
})
#容器{
位置:绝对位置;
宽度:100%;
身高:100%;
溢出:隐藏;
}
#母公司{
位置:相对位置;
宽度:90%;
身高:80%;
溢出y:隐藏;
溢出-x:滚动;
空白:nowrap;
背景:红色;
}
.孩子{
显示:内联块;
位置:相对位置;
左缘:3%;
宽度:40px;
高度:40px;
背景:灰色;
}
.作为控制台包装{
高度:20px!重要;
}
.作为控制台行{
背景:绿色!重要;
}

1.
2.
3.
4.
5.
6.
7.
8.
9
10
12
13
14
15
16
17
18
19
20

我使用的是Chrome(65.0.3325.181 64位),当我尝试向左滚动时,滚动条刚刚修复,没有遇到您的情况。这看起来是一个非常糟糕的方法,您最好创建自己的控件,而不是使用右侧的本机滚动条,这似乎是Safari@HikarunomemoryI的一个性能问题,我不认为这是一个“糟糕的方法”——如果你不介意的话,也许你想为你的想法分享一些代码@charlietflth在网上有很多内容滑块脚本演示。还有自定义html滚动条