宝哥软件园

jQuery滚动条错位问题的解决方案

编辑:宝哥软件园 来源:互联网 时间:2021-09-01

虽然niceScroll插件非常好用,毕竟不依赖css,但是只有js才能设置出好看的滚动条。

最近项目中使用了niceScroll,表格中有水平滚动条。滚动条竖起来很容易错位,就是滚动条会浮在空中,不在div的底部或者右边。打开f12,可以看到滚动条并不是直接定位在div中,而是在全身的末端,与要定位的div处于同一水平,这就导致了这个bug,尤其是IE下,滚动条到处飞。

在网上找了很多资料,似乎都不是这样。也许他们的项目没有那么多水平滚动条。

为了解决这个问题,我们的想法是在div中设置滚动条,这样它就不会浮动了。经过多次测试发现,position:absolute定位在要设置的div上,这样滚动条就会嵌套在里面,不会出现随机悬浮和错位的情况。

没有定位时,滚动条在正文的末尾,如图:

定位的滚动条位于div中,如图所示:

我使用wex5网格表,在网格线中添加类名gridPositon作为绝对定位,然后在它的父级中设置为相对定位,“子级永远不会是父级”。这次操作后,滚动条悬浮错位的问题解决了,但是IE下出现了一个新的bug,就是鼠标悬停和

点击选择无颜色,(-ie),再设置两个div层,解决了ie下无颜色的问题。所以最终结构如下:

总结:只要div绝对定位,滚动条就嵌套在里面。那个ie下面没有颜色,因为它相对直接定位在它的父窗口,所以我把它改成相对定位在最外面的窗口,这样我就不用费心修改它的结构了。

以上jQuery niceScroll bar错位的解决方案,就是边肖与大家分享的全部内容。希望能给大家一个参考,多支持我们。

更多资讯
游戏推荐
更多+