如何在外部元素上显示内部元素的滚动条?

时间:2013-12-11 22:30:23

标签: javascript jquery html css

在我们的工作界面中,有一个丑陋的表结构,用于查看可能非常大的查询输出。警告,我的网络开发经验非常少。

它看起来像这样:

<div class = "view_scroll_outer">
        <table class = "scrollTableHeader" ...>
        <div class = "view_scroll_inner" ...>
            <table ...>
                  ... stuff in here
        <table class = "scrollTableFooter" ...>

A)ScrollTableHeader表包含带有数据的最终可见表的列。

B)内部<div>元素中的表包含最终表的行(包含数据)。

我现在无法改变这种结构 - 这将需要等待一个月。但是这种结构存在一些问题。我现在照顾了其中的一些,但这个特别的人真的很烦我。

让我们假设数据非常宽(也就是很多列和很多行)。这会导致问题,因为列将位于外部<div>元素下,因此水平滚动条必须显示在外部。但是垂直滚动条将显示在内部,因为包含数据的行位于内部。 这导致用户必须在外表上一直向右滚动,然后才能看到内盒的垂直滚动框。

这是我尝试过的:

1)更改内部div框的宽度

document.getElementsByClassName('view_scroll_inner')[0].style.width = (visWidth * 0.99) +'px'; //visWidth is the width of the visual area

这最终只是将列切割过视觉区域

2)更改外部div框的宽度

document.getElementsByClassName('view_scroll_outer')[0].style.width = (visWidth * 0.99) +'px';

这基本上结束了做同样的事情。

此时我想到的唯一其他可能的解决方案(除了将其重新编写并重写它,我将在一个月内完成)将以某种方式找到保持在右侧的垂直滚动条结束了你所看到的,而不是实际窗口的右端。这样,当您在外框上水平滚动时,滚动条将沿着可见框的右侧。

有没有人知道这样的滚动条?或者有人知道其他任何可能的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以使用jQuery Scrollbar的外部类型,并将滚动条放在页面上的任何元素中。查看高级滚动条演示。