【发布时间】:2015-09-23 05:33:43
【问题描述】:
我知道这个问题听起来令人困惑,但这是我想要做的 - 在下面的 sn-p 中,如果用户在绿色 div 上滚动,我希望黄色 div 相应地滚动,就像黄色 div 被滚动。
请注意,黄色的 div 有 overflow: auto;,但绿色的没有。
document.getElementById('green').addEventListener('wheel', function(e){
console.log('scrolled!');
console.log(e.deltaX); // it is always "-0"
// scroll div#yellow accordingly
});
#yellow{
background-color: yellow;
display: inline-block;
width: 200px;
height: 200px;
overflow: auto;
vertical-align: top;
padding 20px;
}
#green{
background-color: green;
display: inline-block;
width: 100px;
height: 200px;
vertical-align: top;
}
<div id='yellow'>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
</div>
<div id='green'></div>
我如何做到这一点?
【问题讨论】:
-
有一种纯 CSS 方式,将
#yellow固定为:position: fixed。 -
制作了一个非常符合要求的插件。 ataredo.com/morphology/lucidscroll
-
@martinweise 但这并不能解决问题。我需要显示绿色 div。
标签: javascript css