整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          3個(gè)超贊的 vue.js 自定義滾動(dòng)條組件VueScrollbar

          天給小伙伴們推薦3款超美觀高效的Vue自定義滾動(dòng)條組件Vue-Scrollbar。

          1、OverlayScrollbars

          overlayscrollbars 一款優(yōu)秀高質(zhì)量的自定義滾動(dòng)條插件,star高達(dá)1.4K+。支持跨框架使用 (js vue react angular),兼容IE8+及主流瀏覽器

          瀏覽器支持度

          跨框架使用

          在jQuery中使用

          <link type="text/css" href="path/OverlayScrollbars.css" />
          <script src="path/jquery.js"></script>
          <script src="path/jquery.overlayScrollbars.js"></script>
          
          $(function() {
            $('body').overlayScrollbars({ });
          });

          在Vue頁(yè)面中使用

          // 安裝依賴
          $ npm i overlayscrollbars-vue -S
          // 在main.js中全局引入
          import Vue from 'vue';
          import { OverlayScrollbarsComponent } from 'overlayscrollbars-vue';
          Vue.component('overlay-scrollbars', OverlayScrollbarsComponent);
          
          // 頁(yè)面局部引入
          <script>
          import { OverlayScrollbarsComponent } from 'overlayscrollbars-vue';
          export default {
            components: {
              'overlay-scrollbars': OverlayScrollbarsComponent
            }
          }
          </script>
          // 在頁(yè)面模板中使用
          <template>
            <overlay-scrollbars 
              :options="{ scrollbars: { autoHide: 'scroll' } }" 
              :extensions="['extensionA', 'extensionB']"
            >
            example content
            </overlay-scrollbars>
          </template>

          # 官網(wǎng)地址
          https://kingsora.github.io/OverlayScrollbars/
          
          # vue頁(yè)面示例地址
          https://kingsora.github.io/OverlayScrollbars/frameworks/vue/
          
          # 倉(cāng)庫(kù)地址
          https://github.com/KingSora/OverlayScrollbars

          2、Vuebar

          vuebar 基于 vue.js 構(gòu)建的自定義滾動(dòng)條組件。豐富的參數(shù)配置及支持自定義樣式。

          安裝

          $ npm i vuebar -S

          使用插件

          // 全局引入
          import Vue from 'vue';
          import Vuebar from 'vuebar';
          Vue.use(Vuebar);
          
          // 基本使用
          <div v-bar>
            <div>your scrollable content</div>
          </div>
          
          // 配置參數(shù)
          <div v-bar="{
            preventParentScroll: true,
            scrollThrottle: 30,
          }">
            <div>your scrollable content</div>
          </div>

          # 文檔地址
          https://github.serafin.io/vuebar/
          
          # 倉(cāng)庫(kù)地址
          https://github.com/DominikSerafin/vuebar

          3、Vue-Custom-ScrollBar

          vue-custom-scrollbar 一款基于 Vue.js 簡(jiǎn)約完美的自定義滾動(dòng)條組件。易于使用,支持自定義滾動(dòng)條樣式。

          特點(diǎn)

          • 不改變?cè)O(shè)計(jì)布局
          • 不需要手動(dòng)操作 DOM
          • 使用普通的 scrollTop and scrollLeft
          • 滾動(dòng)條樣式可完全自定義
          • 布局更改后更新

          安裝

          $ npm i vue-custom-scrollbar -S

          使用插件

          <template>
            <div>
              <vue-custom-scrollbar class="scroll-area" :settings="settings" @ps-scroll-y="scrollHanle">
                <img src="http://utatti.github.io/perfect-scrollbar/azusa.jpg" height="720" width="1280" />
              </vue-custom-scrollbar>
            </div>
          </template>
          <script>
          import vueCustomScrollbar from 'vue-custom-scrollbar'
          export default {
            components: {
              vueCustomScrollbar
            },
            data() {
              return {
                settings: {
                  maxScrollbarLength: 60
                }
              }
            },
            methods: {
              scrollHanle(evt) {
                console.log(evt)
              }
            }
          }
          </script>
          <style >
          .scroll-area {
            position: relative;
            margin: auto;
            width: 600px;
            height: 400px;
          }
          </style>

          # 文檔地址
          https://binaryify.github.io/vue-custom-scrollbar/
          
          # 倉(cāng)庫(kù)地址
          https://github.com/Binaryify/vue-custom-scrollbar

          ok,就分享到這里。如果大家有其它好的Vue滾動(dòng)條組件,歡迎一起分享交流哈!

          <!DOCTYPE html>
          <html>
          <head>
              <meta charset="UTF-8">
              <meta name="viewport">
              <style>
                  body{
                      margin: 0;
                      padding: 0;
                  }
                  #scroll{
                      width: 5px;
                      background: red;
                      position: fixed;
                      top:0;
                      bottom:0;
                  }
                  #scroll_thumb{
                      width: 100%;
                      background: black;
                  }
                  #scroll_content{
                      height: 2000px;
                  }
              </style>
          </head>
          <body>
          <div id="scroll">
              <div id="scroll_thumb"></div>
          </div>
          <div id="scroll_content">
          </div>
          <script>
              var scroll_thumb = document.getElementById('scroll_thumb');
              //計(jì)算網(wǎng)頁(yè)可視區(qū)與自定義滾動(dòng)條的高度比
              var heightProportion = window.innerHeight / document.body.scrollHeight;
              //計(jì)算自定義滾動(dòng)條的軌道高
              var scroll_track_height = (document.body.scrollHeight - window.innerHeight) * heightProportion;
              //計(jì)算自定義滾動(dòng)條中小方塊的高
              var scroll_thumb_height = window.innerHeight - scroll_track_height;
              scroll_thumb.style = "height:"+scroll_thumb_height+"px";
              window.onscroll = function () {
                  //根據(jù)頁(yè)面卷起的高度計(jì)算自定義滾動(dòng)條top距離
                  var customScrollTop= document.documentElement.scrollTop * heightProportion;
                  //設(shè)置自定義滾動(dòng)條top距離
                  scroll_thumb.style = "height:"+scroll_thumb_height+"px;"+'margin-top:'+ customScrollTop +'px';
              }
          </script>
          </body>
          </html>
          
          

          輯導(dǎo)語(yǔ):在上下滾動(dòng)頁(yè)面時(shí),除了出現(xiàn)吸頂,還會(huì)出現(xiàn)吸底、錨點(diǎn)等情況,那么這些都是在滾動(dòng)頁(yè)面時(shí)需要注意的控件。本文作者結(jié)合最近工作中的實(shí)際項(xiàng)目,對(duì)于滑動(dòng)時(shí)的吸頂、錨點(diǎn)規(guī)則方式的總結(jié)心得,一起來(lái)學(xué)習(xí)下吧。

          上下滾動(dòng)頁(yè)面時(shí),除了出現(xiàn)吸頂,還會(huì)出現(xiàn)吸底、錨點(diǎn)等情況,這些都是在滾動(dòng)頁(yè)面時(shí)需要注意的控件。

          結(jié)合最近工作中的實(shí)際項(xiàng)目,Cassie將滑動(dòng)用到的場(chǎng)景進(jìn)行了提煉,總結(jié)出這份控件設(shè)計(jì)規(guī)范,一起來(lái)學(xué)習(xí)吸底、錨點(diǎn)是如何在APP以及PC端應(yīng)用的吧~

          一、吸底

          PC端及移動(dòng)端的底部有一些操作欄,比如表單的填寫(xiě)操作或者支付按鈕的放置,移動(dòng)端底部還會(huì)有全局的導(dǎo)航欄,這些會(huì)占用一定的空間,可以根據(jù)使用場(chǎng)景靈活選擇吸底方式。

          需要注意吸底的是具有操作價(jià)值的內(nèi)容,吸底元素包括操作按鈕、 引導(dǎo)操作、移動(dòng)端的導(dǎo)航欄…

          1. 固定-PC端

          PC端在表單內(nèi)容較多、查看內(nèi)容文章、需要引導(dǎo)用戶操作比如支付等場(chǎng)景下,當(dāng)用戶需滑動(dòng)查看更多內(nèi)容,可將操作類按鈕吸底,需要吸底的內(nèi)容可以根據(jù)布局調(diào)整顯示。

          在左圖PC端釘釘郵箱中,屬于編輯表單類的,將發(fā)送操作按鈕固定吸底,用戶只需要修改部分字段,更利于快速完成編輯;在PC端簡(jiǎn)書(shū)中,屬于內(nèi)容展示類的,出于增強(qiáng)互動(dòng)的目的,將評(píng)論、點(diǎn)贊等操作固定在底部增加其操作便捷性。

          考試星PC端采用左中右布局,將提交考試放在右側(cè)底部,可以不占用考試內(nèi)容高度空間;百度學(xué)術(shù)PC端采用左右布局,右側(cè)是一些介紹內(nèi)容,所以操作按鈕固定在和之有直接關(guān)系的左側(cè)內(nèi)容底部。

          2. 固定-APP端

          移動(dòng)端底部常會(huì)有一些吸底的控件,比如底部導(dǎo)航欄、主操作按鈕、需要引導(dǎo)或便捷用戶操作的控件等。

          一級(jí)頁(yè)面導(dǎo)航固定在底部,當(dāng)該頁(yè)面有主按鈕,比如結(jié)算等則將該欄放到導(dǎo)航欄上面,如果還有引導(dǎo)類或便捷操作類控件則再放到主操作欄上面。

          移動(dòng)端,特別是購(gòu)物車場(chǎng)景存在多條吸底內(nèi)容。

          具有引導(dǎo)性的操作,為了配合主操作而出現(xiàn),也是固定在底部,但位于底部操作上面,在特定場(chǎng)景下出現(xiàn)。

          比如閑魚(yú)提供了一些常用問(wèn)題,可以跟賣(mài)家交流更便捷;考拉海購(gòu)購(gòu)物車的優(yōu)惠引導(dǎo)也是固定在底部,類似的還有京東、淘寶等購(gòu)物車。

          3. 非固定-PC端

          當(dāng)PC端展示內(nèi)容分多段,且其中有需要引導(dǎo)用戶操作的按鈕,建議在滾動(dòng)到該段時(shí)將該操作按鈕吸底,滾動(dòng)到另外一段內(nèi)容后再取消吸底。

          考拉海購(gòu)PC端的購(gòu)物車頁(yè)面,如果購(gòu)物車內(nèi)容比較多,支付欄是吸底的,向上滾動(dòng)到購(gòu)物車商品內(nèi)容結(jié)束后,支付欄不吸底,下面展示推薦商品。

          京東官網(wǎng)的購(gòu)物車也是這種方式,但移動(dòng)端主流購(gòu)物車的支付都是固定在底部的。

          4. 非固定-APP端

          吸底內(nèi)容可以根據(jù)具體情況顯示或隱藏,這種非固定的方式常用于移動(dòng)端閱讀及查看話題評(píng)論時(shí)。

          在微信讀書(shū)的閱讀狀態(tài)時(shí),為了給讀者提供沉浸式體驗(yàn),隱藏操作欄,上滑時(shí)再顯示;在知乎熱榜瀏覽主題內(nèi)容時(shí),主操作欄跟在內(nèi)容下面,當(dāng)頁(yè)面滑動(dòng)后主操作欄改變布局樣式吸底展示。

          二、錨點(diǎn)及回到頂部

          錨點(diǎn)以回到頂部也屬于頁(yè)面滾動(dòng)時(shí)需要的控件,配合滾動(dòng)條用于跳轉(zhuǎn)到頁(yè)面指定位置。

          PC端和移動(dòng)端都可以在內(nèi)容過(guò)多時(shí)使用回到頂部控件,PC端的錨點(diǎn)定位類似導(dǎo)航一樣可以放到頁(yè)面左側(cè)或者右側(cè),但其實(shí)只是頁(yè)面的內(nèi)容定位。

          移動(dòng)端可以利用滾動(dòng)條做時(shí)間軸類型的定位或者分頁(yè)定位。

          1. 回到頂部-PC端

          當(dāng)PC端頁(yè)面內(nèi)容區(qū)域比較長(zhǎng)時(shí)比如瀑布流的使用,用戶需要頻繁返回頂部查看相關(guān)內(nèi)容時(shí),可以滾動(dòng)后出現(xiàn)回到頂部控件。

          花瓣P(guān)C端頁(yè)面滾動(dòng)后,右下角有一些功能操作,滾動(dòng)后出現(xiàn)回到頂部控件。

          2. 回到頂部-APP端

          當(dāng)頁(yè)面內(nèi)容區(qū)域比較長(zhǎng)時(shí);當(dāng)用戶需要頻繁返回頂部查看相關(guān)內(nèi)容時(shí),可以使用回到頂端返回頁(yè)面頂部。

          如果當(dāng)前頁(yè)面是主頁(yè),可以滾動(dòng)后主頁(yè)按鈕便成回到頂部按鈕,這樣可以避免遮擋內(nèi)容,優(yōu)化閱讀體驗(yàn)。

          京東購(gòu)物車頁(yè)面除了展示添加到購(gòu)物車的商品外,底部還有推薦上面,滾動(dòng)后出現(xiàn)回到頂部控件;每日優(yōu)鮮APP頁(yè)面滾動(dòng)后,導(dǎo)航的主頁(yè)按鈕變成回到頂部按鈕,優(yōu)化體驗(yàn),類似的還有淘寶、餓了么、考拉等主頁(yè)有瀑布流的內(nèi)容。

          3. 錨點(diǎn)-PC端

          當(dāng)PC端有多條組合內(nèi)容時(shí),可以左側(cè)做一個(gè)錨點(diǎn)定位配合滾動(dòng)條快速定位到頁(yè)面需要查看的內(nèi)容。

          當(dāng)PC端使用上下布局時(shí),且內(nèi)容區(qū)域居中固定時(shí),錨點(diǎn)懸浮在左側(cè)顯示,當(dāng)屏幕小于一定尺寸時(shí),錨點(diǎn)縮小懸浮于頁(yè)面左側(cè),鼠標(biāo)移入時(shí)再顯示。

          在優(yōu)設(shè)的網(wǎng)址導(dǎo)航中,由于導(dǎo)航分為多個(gè)類型,所以將具體類型名稱放到左側(cè)展示,能快速定位到需要的內(nèi)容。

          當(dāng)PC端左側(cè)有導(dǎo)航,錨點(diǎn)定位可以放到右側(cè),常用于閱讀文章等場(chǎng)景。

          在Ant design的組件頁(yè),由于左側(cè)有二級(jí)導(dǎo)航,所以將頁(yè)面的錨點(diǎn)定位放在右側(cè),類似的還有語(yǔ)雀文章閱讀。

          4. 錨點(diǎn)-APP端

          當(dāng)有時(shí)間類型的內(nèi)容比如瀏覽照片時(shí),可以采取時(shí)間軸定位的方式快速滑動(dòng)到需要查看的內(nèi)容。

          內(nèi)容過(guò)多的情況下也可以采取分頁(yè)的形式,滾動(dòng)后將分頁(yè)及回到頂部固定在底部右下角位置。

          例如寶寶樹(shù)APP采用時(shí)間軸的方式快速定位,默認(rèn)狀態(tài)定位控件縮小固定在右側(cè),滑動(dòng)時(shí)控件變大顯示具體時(shí)間,方便用戶按時(shí)間快速查找照片,類似的還有百度網(wǎng)盤(pán)里的照片瀏覽。

          豆瓣APP在電影的討論模塊,選擇一個(gè)討論查看詳情滾動(dòng)后底部顯示回復(fù)的定位錨點(diǎn),控件放在操作欄上面吸底展示。

          作者: Cassie

          原文鏈接:www.zcool.com.cn/article/ZMTM0ODkzMg==.html

          本文由 @ Cassie 授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

          題圖來(lái)自Unsplash,基于CC0協(xié)議。


          主站蜘蛛池模板: 亚洲国产一区在线| 亚洲欧美日韩国产精品一区 | 久久久av波多野一区二区| 好爽毛片一区二区三区四| 国产精品美女一区二区视频| 国产精品合集一区二区三区 | 成人无码精品一区二区三区| 亚洲A∨精品一区二区三区下载| 精品国产一区二区三区AV性色 | 香蕉视频一区二区三区| 91福利一区二区| 一本大道东京热无码一区| 国产精品99精品一区二区三区| 无码毛片一区二区三区中文字幕 | 91福利视频一区| 伦理一区二区三区| 国产精品被窝福利一区 | 福利一区在线视频| 亚洲av综合av一区二区三区| 日韩AV无码久久一区二区| 中文字幕在线观看一区二区 | 国产乱码精品一区二区三区中| 久久99国产一区二区三区| 高清无码一区二区在线观看吞精| 精品熟人妻一区二区三区四区不卡| 激情综合一区二区三区| 久夜色精品国产一区二区三区| 国产一区二区三区播放| 精品视频一区二区三区四区五区| 国产精品福利区一区二区三区四区 | 在线一区二区三区| 亚洲欧美日韩中文字幕在线一区| 午夜影院一区二区| 日本高清天码一区在线播放| 日韩a无吗一区二区三区| 国产精品电影一区二区三区| 中文字幕在线视频一区| 精品一区二区三区中文字幕| 无码人妻AV免费一区二区三区 | 日本不卡一区二区视频a| 日韩精品一区二区三区大桥未久|