jQuery-niceScroll滚动条错位问题

  虽然niceScroll插件很好用,毕竟它不依赖css,只是单纯的js就能够设置出好看的滚动条了。css

  最近在项目中使用到niceScroll,并且在表格里有横滚动条,竖滚动条时很容易错位,就是滚动条会悬浮在半空,并非在div的底部或右边,打开f12可看到滚动条并非直接定位在div里面,而是在整个body最后,和要使用定位的div同级,这而致使了这个bug,尤为是在IE下更明显,滚动条四处飞︿( ̄︶ ̄)︿。测试

  在网上找了不少资料好像都没有这个状况,可能他们项目没那么多横向滚动条吧。。。。。spa

  要解决这个bug,当时想到的就是把滚动条设在div里面,这样就不会悬浮。通过屡次测试,后来发如今要设的div上去定位position:absolute,这样滚动条就会嵌套在里面,就不会出现乱悬浮错位的状况。插件

  没有定位时候,滚动条在body最后,如图:it

定位后的滚动条在div里面,如图:io

  我用的是wex5的grid表格,在grid那行添加类名gridPositon设为绝对定位,而后在它父级那设为相对定位,“子绝父相”。这样操做完是解决了滚动条悬浮错位的问题了,可是在IE下又出现新的bug,就是鼠标hover和grid

点击选中时没有颜色,(- -坑爹的ie),而后再套多两层div,这样就解决了ie下没颜色的问题。因此最后的结构以下:bug

 

总结:只要在用到的div绝对定位,滚动条就嵌套在里面。那个ie下没颜色是由于直接在它父级相对定位了,因此后来我改为在最外的window去相对定位了,这样就不用那么麻烦去修改它的结构。im

相关文章
相关标签/搜索