天天看點

jQuery-niceScroll滾動條錯位問題

  雖然niceScroll插件很好用,畢竟它不依賴css,隻是單純的js就可以設定出好看的滾動條了。

  最近在項目中使用到niceScroll,而且在表格裡有橫滾動條,豎滾動條時很容易錯位,就是滾動條會懸浮在半空,并不是在div的底部或右邊,打開f12可看到滾動條并不是直接定位在div裡面,而是在整個body最後,和要使用定位的div同級,這而導緻了這個bug,尤其是在IE下更明顯,滾動條四處飛︿( ̄︶ ̄)︿。

  在網上找了很多資料好像都沒有這個情況,可能他們項目沒那麼多橫向滾動條吧。。。。。

  要解決這個bug,當時想到的就是把滾動條設在div裡面,這樣就不會懸浮。經過多次測試,後來發現在要設的div上去定位position:absolute,這樣滾動條就會嵌套在裡面,就不會出現亂懸浮錯位的情況。

  沒有定位時候,滾動條在body最後,如圖:

jQuery-niceScroll滾動條錯位問題

定位後的滾動條在div裡面,如圖:

jQuery-niceScroll滾動條錯位問題

  我用的是wex5的grid表格,在grid那行添加類名gridPositon設為絕對定位,然後在它父級那設為相對定位,“子絕父相”。這樣操作完是解決了滾動條懸浮錯位的問題了,但是在IE下又出現新的bug,就是滑鼠hover和

點選選中時沒有顔色,(- -坑爹的ie),然後再套多兩層div,這樣就解決了ie下沒顔色的問題。是以最後的結構如下:

jQuery-niceScroll滾動條錯位問題

總結:隻要在用到的div絕對定位,滾動條就嵌套在裡面。那個ie下沒顔色是因為直接在它父級相對定位了,是以後來我改成在最外的window去相對定位了,這樣就不用那麼麻煩去修改它的結構。

轉載于:https://www.cnblogs.com/lucas27/p/8407019.html

繼續閱讀