下面我就為大家帶來一篇jQuery niceScroll滾動條錯位問題的解決方法,具有很好的參考價值,希望對大家有所幫助。
雖然niceScroll外掛很好用,畢竟它不依賴css,只是單純的js就可以設定出好看的滾動條了。
最近在專案中使用到niceScroll,而且在表格裡有橫滾動條,垂直滾動條時很容易錯位,就是滾動條會懸浮在半空,並不是在p的底部或右邊,打開f12可看到滾動條並不是直接定位在p裡面,而是在整個body最後,和要使用定位的p同級,這而導致了這個bug,尤其是在IE下更明顯,滾動條四處飛︿(  ̄︶ ̄)︿。
在網路上找了很多資料好像都沒有這個情況,可能他們專案沒那麼多橫向捲軸吧。 。 。 。 。
要解決這個bug,當時想到的就是把滾動條設在p裡面,這樣就不會懸浮。經過多次測試,後來發現在要設的p上去定位position:absolute,這樣滾動條就會嵌套在裡面,就不會出現亂懸浮錯位的情況。
沒有定位時候,捲軸在body最後,如圖:
#定位後的捲軸在p裡面,如圖:
我用的是wex5的grid表格,在grid那行添加類別名稱gridPositon設為絕對定位,然後在它父級那設為相對定位,“子絕父相” 。這樣操作完是解決了滾動條懸浮錯位的問題了,但是在IE下又出現新的bug,就是滑鼠hover和
點擊選中時沒有顏色,(- -坑爹的ie),然後再套多兩層p,這樣就解決了ie下沒顏色的問題。所以最後的結構如下:
總結:只要在用到的p絕對定位,捲軸就嵌套在裡面。那個ie下沒顏色是因為直接在它父級相對定位了,所以後來我改成在最外的window去相對定位了,這樣就不用那麼麻煩去修改它的結構。
上面是我整理給大家的,希望今後對大家有幫助。
相關文章:
以上是在jQuery中如何解決niceScroll滾動條錯位問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!