有時為了保持頁面風格的統一,我們需要修改滾動條的樣式。雖然我們可以通過 CSS 設定滾動條各部分的顔色樣式,但這種方式不支援老版本的浏覽器。而且不同的浏覽器下,CSS 滾動條屬性的寫法也不一樣,如果各個浏覽器都需要相容(特别是移動裝置的浏覽器),那就十分麻煩了。
這裡推薦一個十分好用的滾動條插件:Nicescroll
一、NiceScroll 介紹
NiceScroll 是一款完全基于 jQuery 架構的滾動條插件,它不僅有着類似 iOS 系統裝置的滾動條外觀,而且還支援任意的 <div>、<iframe>、<body> 元素的滾動效果。
1,GitHub 首頁
- https://github.com/inuyaksa/jquery.nicescroll
2,功能特點
- 不需要增加額外的 CSS。
- 幾乎全浏覽器相容:Chrome、Firefox、Edge、IE8+、Safari、Opera
- 實作隻需要一段代碼,侵入性非常小。
- 樣式可完全自定義。
- 支援觸摸事件,可在觸摸屏上使用。
3,配置說明
(1)頁面中引入 jquery.js
(2)頁面中引入 jquery.nicescroll.js
(3)如果需要用到全屏放大功能的話,還要把 zoomico.png 複制到與 jquery.nicescroll.js 同一個檔案夾下。
二、基本用法
1,最簡單的用法
(1)我們隻需在頁面初始化完畢後,對需要使用這個滾動條插件的元素調用 niceScroll() 方法即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
(2)這裡我直接是讓整個頁面使用 NiceScroll 插件,預設情況下滾動條是自動隐藏的,即内容如果超出視窗時滾動條也不會顯示。(當然此時通過滑鼠滾輪還是可以滾動頁面的)
(3)當滑鼠移到視窗右側時,滾動條則會顯示出來。我們可以拖動它進行頁面滾動。
2,返復原動條對象
1 2 3 4 | |
3,使用容器“wrapper”包含DIV
這種方式由兩個 DIV 組成,前一個為 vieport,後一個為裡面内容。
1 | |
如果遇到加載資料的時候 nicescroll 滾動條閃爍,還有對絕對定位的元素(例如下拉框)使用滾動條,特别是在需要滾動條比較多的頁面,導緻位置錯亂的等問題。那麼需要使用這個方法對設定滾動條的元素的直接子元素進行設定,比如:
$("#viewportdiv").niceScroll("#wrapperdiv",{
'cursorcolor':'#686868',
'cursorborder':'none',
'smoothscroll': 'false',
'autohidemode':false
});
4,隐藏滾動條
注意:這個隻是把滾動條隐藏,使用滑鼠滾輪仍然可以進行滾動。
1 | |
5,重置滾動條大小
1 | |
6,滾動到某個指定位置
1 2 3 4 5 | |
7,删除滾動條
1 | .getNiceScroll().remove(); .niceScroll({ cursorborder:"",//不需要border cursorcolor:"#C1C1C1",//滾動條顔色 boxzoom:false,//禁止放大box的内容 autohidemode:false,//禁止隐藏 horizrailenabled:false //水準方向禁用 }); |
三、常用配置參數
在調用 niceScroll() 方法初始化滾動條時,我們可以傳入一些參數屬性,進而對滾動條的樣式以及行為進行修改。
1,簡單的樣式修改
(1)這裡我們對滾動條的顔色和觸摸滾動模式進行的修改。
1 2 3 4 5 6 7 8 | |
(2)效果圖
2,全屏放大顯示
(1)要開啟全屏放大功能,隻需把 boxzoom 參數設定為 true。(同時記得把 zoomico.png 放到與 jquery.nicescroll.js 同一個檔案夾下)
1 2 3 | |
(2)當我們将滑鼠移到滾動區域右側時,在滾動條旁邊會顯示出一個“放大”圖示。點選後該區域會自動放大占滿整個浏覽器視窗。
(3)而當這個區域放大後,右上角的這個圖示又會變成“縮小”圖示,點選後該區域則又還原回原來的位置和尺寸。
3,完整的配置參數表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | |
原文出自:www.hangge.com 轉載請保留原文連結:http://www.hangge.com/blog/cache/detail_1931.html
轉載于:http://www.hangge.com/blog/cache/detail_1931.html