首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在一个div中垂直滚动,同时影响水平滚动的另一个div

如何在一个div中垂直滚动,同时影响水平滚动的另一个div
EN

Stack Overflow用户
提问于 2016-10-24 06:52:17
回答 1查看 94关注 0票数 0

我有两个div,A和B,我需要一种方法,当我在A中垂直滚动时,div B也会同时在水平方向上移动。

我搜索了一下,但是找不到这个问题的解决方案,如果可能的话,一个没有框架的解决方案。

click here to see what I mean in on picture

代码语言:javascript
复制
.content-up-down {
	background: pink;
	margin: auto;
	width : 400px;
	height: 300px;
	overflow-y: scroll;
}

.content-1 {
	background: rgb(250,230,230);
	padding : 32px;
	margin: 16px;
}

.content-left-right {
	background: rgb(200,250,200);
	margin: auto;
	margin-top:32px;
	padding-top: 16px;
	
	width : 400px;
	height: 96px;
	overflow-x: scroll;
	overflow-y: hidden;
}

.wrap-content-2 {
	white-space: nowrap;
}

.content-2 {
	background: rgb(100,255,150);
	display: inline-block;
	width:64px;
	height: 64px;
	margin:0px 32px;
}
代码语言:javascript
复制
<div class="content-up-down">
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>
			<div class="content-1"> </div>	
		</div>

		<div class="content-left-right">
			<div class="wrap-content-2">
				<div class="content-2"> </div>
				<div class="content-2"> </div>
				<div class="content-2"> </div>
				<div class="content-2"> </div>
				<div class="content-2"> </div>
				<div class="content-2"> </div>
				<div class="content-2"> </div>
				<div class="content-2"> </div>
				<div class="content-2"> </div>
				<div class="content-2"> </div>
				<div class="content-2"> </div>
			</div>
		</div>

EN

回答 1

Stack Overflow用户

发布于 2016-10-24 07:25:34

为此,您需要使用jQuery监听粉色div上的滚动。这是一个粗略的估计:

代码语言:javascript
复制
$(".pink").scroll(function() {
  $(".green").scrollLeft(($(".pink").scrollTop() / $(".pink").height()) * $(".green").width());
});
代码语言:javascript
复制
.pink {
  background-color: pink;
  height: 100px;
  overflow-y: scroll;
  padding: 10px;
 }

.green {
  background-color: green;
  height: 25px;
  overflow-x: scroll;
  padding: 10px;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pink">
 a
 <br>
  b
  <br>
  c
  <br>
  d
  <br>
  a
  <br>
  b
  <br>
  c
  <br>
  d
  <br>
  a
  <br>
  b
  <br>
  c
  <br>
  d
  <br>
  a
  <br>
  b
  <br>
  c
  <br>
  d
  <br>
  a
  <br>
  b
  <br>
  c
  <br>
  d
  <br>
</div>

<div class="green">   efghefghefghefghefghefghefghefghefghefghefghefghefghefghefefghefghefghefghefghefghefghefghefghefghefghefghefghefghefefghefghefghefghefghefghefghefghefghefghefghefghefghefghefefghefghefghefghefghefghefghefghefghefghefghefghefghefghefefghefghefghefghefghefghefghefghefghefghefghefghefghefghef
</div>

希望代码有足够的意义。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40208591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档