2015-11-04 97 views
0

我想同步兩個獨立的面板/ div之間的滾動。聽從溢出滾動事件:隱藏的元素

其中一個元素有overflow: auto而另一個元素有overflow: hidden(試圖用凍結列複製網格)。

當事件發生在元素overflow: auto但不是overflow: hidden(如果你問我這是有點正常的)時,我可以同步滾動。

但是,有沒有解決方法呢?我想同步滾動這兩種方式。

這裏有一個小提琴,這將說明我的問題(嘗試在兩個面板滾動):http://jsfiddle.net/0zzbkyqg/

而且,這件事情似乎已經在這裏發生:http://demos.telerik.com/kendo-ui/grid/frozen-columns,但我只是不明白他們是如何做的。

回答

0

我想你不需要jQuery來做到這一點。

看吧:http://jsfiddle.net/ty0jyr4y/

我已經移除了面板的position: absoluteoverflow性能,並添加float: left讓他們內聯(也可以使用display: inline-block),並添加height: 400pxwidth: 417pxoverflow: auto到容器中。

容器的寬度設置爲417px而不是400px,因爲滾動條需要17個像素的空間(根據here跨越所有瀏覽器)。

精美的作品。這是你想要的嗎?

1

也許您應該使用滾動鼠標滾輪時觸發的wheel事件,而不管視圖部分是否滾動。 Demo

$("#panel-left > table").on('wheel', function (e) { 
    // your logic here 
}