
- Framework7 教程
- Framework7 - 首頁
- Framework7 - 概述
- Framework7 - 環境
- Framework7 元件
- Framework7 - 佈局
- Framework7 - 導航欄
- Framework7 - 工具欄
- Framework7 - 搜尋欄
- Framework7 - 狀態列
- Framework7 - 側邊欄
- Framework7 - 內容塊
- Framework7 - 佈局網格
- Framework7 - 覆蓋層
- Framework7 - 預載入器
- Framework7 - 進度條
- Framework7 - 列表檢視
- Framework7 - 手風琴
- Framework7 - 卡片
- Framework7 - 晶片
- Framework7 - 按鈕
- Framework7 - 操作按鈕
- Framework7 - 表單
- Framework7 - 標籤頁
- Framework7 - Swiper 滑塊
- Framework7 - 照片瀏覽器
- Framework7 - 自動完成
- Framework7 - 選擇器
- Framework7 - 日曆
- Framework7 - 重新整理
- Framework7 - 無限滾動
- Framework7 - 訊息
- Framework7 - 訊息欄
- Framework7 - 通知
- Framework7 - 延遲載入
- Framework7 樣式
- Framework7 - 顏色主題
- Framework7 - 分割線
- Framework7 模板
- Framework7 - 模板概述
- Framework7 - 自動編譯
- Framework7 - Template7 頁面
- Framework7 快速點選
- Framework7 - 活動狀態
- Framework7 - 長按事件
- Framework7 - 觸控波紋
- Framework7 有用資源
- Framework7 - 快速指南
- Framework7 - 有用資源
- Framework7 - 討論
Framework7 - 進度條
描述
進度條可用於向用戶顯示資源載入或任務進度。您可以使用progressbar類指定進度條。當用戶不知道請求的載入過程將持續多長時間時,您可以使用progressbar-infinite類。
進度條 JavaScript API
進度條可以與 JavaScript API 一起使用,透過以下方法指定show、hide和progress屬性:
序號 | 方法 | 描述 & 引數 |
---|---|---|
1 | myApp.setProgressbar (container , progress, speed) | 它設定任務進度的進度條。
|
2 | myApp.hideProgressbar (contain er) | 它隱藏進度條。
|
3 | myApp.showProgressbar (contai ner, progress, color) | 它顯示進度條。
|
示例
以下示例顯示了一個動畫確定和不確定進度條,以指示 Framework7 中的活動:
<!DOCTYPE html> <html> <head> <meta name = "viewport" content = "width = device-width, initial-scale = 1, maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" /> <meta name = "apple-mobile-web-app-capable" content = "yes" /> <meta name = "apple-mobile-web-app-status-bar-style" content = "black" /> <title>Progress Bar</title> <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" /> <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" /> <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.material.min.css" /> <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.material.colors.min.css" /> </head> <body> <div class = "views"> <div class = "view view-main"> <div class = "pages"> <div data-page = "home" class = "page navbar-fixed"> <div class = "navbar"> <div class = "navbar-inner"> <div class = "center">Progress Bar</div> </div> </div> <div class = "page-content"> <div class = "content-block-title">Determinate Progress Bar</div> <div class = "content-block"> <div class = "content-block-inner"> <p>Inline determinate progress bar:</p> <div class = "progressbar-inline"> <p><span data-progress = "10" class = "progressbar"></span></p> <p class = "buttons-row"> <a href = "#" data-progress = "25" class = "button button-raised">25%</a> <a href = "#" data-progress = "50" class = "button button-raised">50%</a> <a href = "#" data-progress = "75" class = "button button-raised">75%</a> <a href = "#" data-progress = "100" class = "button button-raised">100%</a> </p> </div> <p>Loads and hides the determinate progress bar:</p> <div class = "progressbar-load-hide"> <p><a href = "#" class = "button button-raised">Start Loading</a></p> </div> <p>Displays the determinate progress bar on top:</p> <p class = "progressbar-overlay"><a href = "#" class = "button button-raised">Start Loading</a></p> </div> </div> <div class = "content-block-title">Infinite Progress Bar</div> <div class = "content-block"> <div class = "content-block-inner"> <p>Inline infinite progress bar:</p> <p><span class = "progressbar-infinite"></span></p> <p>Displays the infinite progress bar in multiple colors:</p> <p><span class = "progressbar-infinite color-multi"></span></p> <p>Displays the infinite progress bar on top:</p> <p class = "progressbar-infinite-overlay"><a href = "#" class = "button button-raised">Start Loading</a></p> <p>Displays the infinite progress bar in multiple colors on top:</p> <p class = "progressbar-infinite-multi-overlay"><a href = "#" class = "button button-raised">Start Loading</a></p> </div> </div> <div class = "content-block-title">Different types of colored progress bars:</div> <div class = "list-block"> <ul> <li class = "item-content"> <div class = "item-inner"> <div data-progress = "5" class = "progressbar color-red"></div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div data-progress = "10" class = "progressbar color-pink"></div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div data-progress = "20" class = "progressbar color-deeppurple"></div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div data-progress = "30" class = "progressbar color-blue"></div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div data-progress = "40" class = "progressbar color-cyan"></div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div data-progress = "50" class = "progressbar color-green"></div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div data-progress = "60" class = "progressbar color-lime"></div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div data-progress = "70" class = "progressbar color-amber"></div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div data-progress = "80" class = "progressbar color-deeporange"></div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div data-progress = "90" class = "progressbar color-gray"></div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div data-progress = "100" class = "progressbar color-black"></div> </div> </li> </ul> </div> </div> </div> </div> </div> </div> <script type = "text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script> <script> var myApp = new Framework7({ material: true }); var $$ = Dom7; $$('.progressbar-inline .button').on('click', function () { var progress = $$(this).attr('data-progress'); var progressbar = $$('.progressbar-inline .progressbar'); myApp.setProgressbar(progressbar, progress); }); $$('.progressbar-load-hide .button').on('click', function () { var container = $$('.progressbar-load-hide p:first-child'); //it doesn't load if another progresbar is loading if (container.children('.progressbar').length) return; myApp.showProgressbar(container, 0); var progress = 0; function simulateLoading() { setTimeout(function () { var progressBefore = progress; progress += Math.random() * 20; myApp.setProgressbar(container, progress); if (progressBefore < 100) { simulateLoading(); } else myApp.hideProgressbar(container); }, Math.random() * 200 + 200); } simulateLoading(); }); $$('.progressbar-overlay .button').on('click', function () { var container = $$('body'); if (container.children('.progressbar, .progressbar-infinite').length) return; myApp.showProgressbar(container, 0, 'orange'); var progress = 0; function simulateLoading() { setTimeout(function () { var progressBefore = progress; progress += Math.random() * 20; myApp.setProgressbar(container, progress); if (progressBefore < 100) { simulateLoading(); } //hides the progressbar else myApp.hideProgressbar(container); }, Math.random() * 200 + 200); } simulateLoading(); }); $$('.progressbar-infinite-overlay .button').on('click', function () { var container = $$('body'); if (container.children('.progressbar, .progressbar-infinite').length) return; myApp.showProgressbar(container, 'yellow'); setTimeout(function () { myApp.hideProgressbar(); }, 3000); }); $$('.progressbar-infinite-multi-overlay .button').on('click', function () { var container = $$('body'); if (container.children('.progressbar, .progressbar-infinite').length) return; myApp.showProgressbar(container, 'multi'); setTimeout(function () { myApp.hideProgressbar(); }, 3000); }); </script> </body> </html>
輸出
讓我們執行以下步驟來了解上面給出的程式碼是如何工作的:
將上面給出的 HTML 程式碼儲存為progress_bar.html檔案,放在伺服器根資料夾中。
以 https:///progress_bar.html 的方式開啟此 HTML 檔案,輸出將如下所示。
此示例顯示了進度條,它指示操作完成過程需要多長時間,並顯示不同型別的進度條以指示活動。
廣告