Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 始终在特定div上滚动_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 始终在特定div上滚动

Javascript 始终在特定div上滚动,javascript,jquery,html,css,Javascript,Jquery,Html,Css,假设我有一个中心分区的站点,大约是窗口宽度的50%,其两侧的其他分区填满了剩余的空间。跨越div是固定的,不能移动,也不能滚动 目前,当我的鼠标位于其中一个跨越div上时,我(自然)无法滚动中心div。我的问题是:是否有一种方法可以始终将滚动焦点放在某个特定div上,无论鼠标位于页面上的什么位置 编辑:我实际拥有的是: <div id='wrapper'> <nav id='sidebar'></nav> <div id='rhs'>

假设我有一个中心分区的站点,大约是窗口宽度的50%,其两侧的其他分区填满了剩余的空间。跨越div是固定的,不能移动,也不能滚动

目前,当我的鼠标位于其中一个跨越div上时,我(自然)无法滚动中心div。我的问题是:是否有一种方法可以始终将滚动焦点放在某个特定div上,无论鼠标位于页面上的什么位置

编辑:我实际拥有的是:

<div id='wrapper'>
    <nav id='sidebar'></nav>
    <div id='rhs'></div>
</div>


其中包装器和侧边栏都有固定的位置,侧边栏和rhs在包装器的中心相邻(即边距:0自动;使它们位于中间)。用鼠标在包装器或边栏上滚动不会滚动rhs,尽管位置是固定的(因此Toni Leigh的答案在这里对我不起作用)。

是的,您可以使用
位置:固定

无论滚动位置如何,两个外部div都固定在屏幕上。无论鼠标指针在哪里,中央div都会滚动。您可以使用
top
bottom
来固定屏幕的整个高度,然后使用
left
right
来固定屏幕两侧的每个高度

您仍然可以与固定外部div中的内容进行交互


请参见

是的,您可以使用
位置:固定

无论滚动位置如何,两个外部div都固定在屏幕上。无论鼠标指针在哪里,中央div都会滚动。您可以使用
top
bottom
来固定屏幕的整个高度,然后使用
left
right
来固定屏幕两侧的每个高度

您仍然可以与固定外部div中的内容进行交互

请看类似的内容

将两侧div设置为具有
position:fixed
属性,通过使用
top:0
left:0
right:0
可以分别将其移动到左上和右上的位置

<>你可以在中间有一个规则的元素。滚动现在将始终影响非固定元素。(我添加了一个背景图片,这样你就可以看到它们不会滚动)

HTML

<div class="fixed left"></div>
<div class="center"></div>
<div class="fixed right"></div>
像这样的

将两侧div设置为具有
position:fixed
属性,通过使用
top:0
left:0
right:0
可以分别将其移动到左上和右上的位置

<>你可以在中间有一个规则的元素。滚动现在将始终影响非固定元素。(我添加了一个背景图片,这样你就可以看到它们不会滚动)

HTML

<div class="fixed left"></div>
<div class="center"></div>
<div class="fixed right"></div>

外部div的内容是什么?你试过我的演示吗?是的,但根据我的编辑,这不完全是我的实际情况不幸的是,外部div的内容是什么?你试过我的演示吗?是的,但根据我的编辑,这不完全是我的实际情况不幸的是,这对我不起作用。我对这个问题进行了编辑,以使其更详细specific@jako218尝试调整你的HTML,不要修改包装器,把所有三个元素放在同一个深度。这可能是一个可行的解决方案,但不幸的是,由于其他限制,我无法更改底层结构。我真正想要的是一种按照调用.setScrollFocus(element)的思路来做一些事情的方法,这样无论我在哪里滚动,它总是以“element”为目标并滚动该div。如果没有这样的方法,我可能只需要处理它(谷歌在这件事上尤其无益,每一个结果都是关于滚动到某个特定元素,而不是实际滚动该元素)@jako218是什么限制了你改变HTML?要用JS实现你的建议是可能的,但真的很头疼,至少有10种不同的滚动页面的方式。我现在已经绕过了这些限制。但是,即使我现在有包装作为背景,100%的宽度和高度,位置固定,我也不介意TH在同一深度,中间设置了较高的Z-索引,如果我的鼠标位于RHS之外,它卷动包装器而不是RHS。现在鞭打JsFoDLE,这对我不起作用。我已经编辑了这个问题。specific@jako218试着调整你的HTML,不要修改包装器,把所有三个元素放在同一个深度,这是可能的ly可能是一个可行的解决方案,但不幸的是,由于其他限制,我无法更改底层结构。我真正想要的是按照调用.setScrollFocus(元素)的思路来做一些事情,因此,无论我在哪里滚动,它总是以“元素”为目标并滚动该div。如果不存在这样的方法,我可能只需要处理它(谷歌在这方面特别没有帮助,每个结果都是滚动到特定元素,而不是实际滚动该元素)@jako218是什么限制了你改变HTML?要用JS实现你的建议是可能的,但真的很头疼,至少有10种不同的滚动页面的方式。我现在已经绕过了这些限制。但是,即使我现在有包装作为背景,100%的宽度和高度,位置固定,我也不介意TH在相同深度的RHS中设置了较高的Z-索引,如果我的鼠标位于RHS之外,它滚动包装器而不是RHS。