0

我一直在尝试实现滚动条来滚动画布的内容。

我所做的基本上是为滚动条创建一个div溢出设置为的内容,并根据画布内容的宽度/高度创建一个宽度/高度不同的内部。scrolldiv

onscroll当我在两个滚动条中的任何一个上收到事件时,我可以使用scrollLeftscrollTop属性来设置移动画布内容需要多少像素。

我注意到虽然垂直滚动条按预期工作,但改变水平滚动条的内部宽度并没有做任何事情。

我的印象是这样的;

<div id='outer'>
    <div id='inner'>
    </div>
</div>

<style>
     div#outer {
         width : 500px;
         height : 50px;
         overflow-x : scroll;
     }

     div#inner {
         width : 20000px;
     }
</style>

将创建一个div宽度为 500px 的块,带有一个水平滚动条,允许我们滚动内部div20000px 的宽度。

但由于某种原因,它不适用于水平滚动条(示例),而适用于垂直滚动条(示例)。

为什么会这样?这与我style.width对内部的使用方式有关div吗?

我该怎么做才能获得有效的水平滚动条?

4

1 回答 1

2

如果您提供最小高度或将内容添加到宽度大于容器的内部元素,它会起作用。

bar.style.minHeight = '1px';

小提琴

出于这个原因,我敢打赌,没有内容(0px高度)的块元素的显示方式与元素类似display:none

于 2012-08-08T12:17:36.470 回答