Framework7进度栏

本文概述

  • Progressbar JavaScript API
在Framework7中, 进度条用于向用户显示资产的加载或任务的进度。
“ progressbar”类用于指定进度条。当你要指定用户不知道该请求的加载过程将持续多长时间时, 将使用“ progressbar-infinite”类。
Progressbar JavaScript API进度栏与JavaScript API结合使用, 可通过以下方法指定显示, 隐藏和进度属性:

myApp.setProgressbar(容器, 进度, 速度):
用于设置任务进度的进度条。

参数说明:
container:这是一个字符串或HTML元素, 用于定义进度条元素的容器。
progress:以整数格式表示, 并定义任务的进度。
speed:以整数格式表示, 并指定任务进度的持续时间。

myApp.hideProgressable(包含):
用于隐藏进度条。

参数说明:
container:这是一个字符串或HTML元素, 用于定义进度条元素的容器。

myApp.showProgressable(容器, 进度, 颜色):
用于显示进度条。

参数说明:
container:这是一个字符串或HTML元素, 用于定义进度条元素的容器。
progress:以整数格式表示, 并定义任务的进度。
speed:以整数格式表示, 并指定任务进度的持续时间。
例让我们以一个示例来显示动画的确定和不确定进度条, 以指示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 = "http://www.srcmini.com/#" data-progress = "25" class = "button button-raised"> 25%< /a> < a href = "http://www.srcmini.com/#" data-progress = "50" class = "button button-raised"> 50%< /a> < a href = "http://www.srcmini.com/#" data-progress = "75" class = "button button-raised"> 75%< /a> < a href = "http://www.srcmini.com/#" 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 = "http://www.srcmini.com/#" class = "button button-raised"> Start Loading< /a> < /p> < /div> < p> Displays the determinate progress bar on top:< /p> < p class = "progressbar-overlay"> < a href = "http://www.srcmini.com/#" 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 = "http://www.srcmini.com/#" < p> Displays the infinite progress bar in multiple colors on top:< /p> < p class = "progressbar-infinite-multi-overlay"> < a href = "http://www.srcmini.com/#" 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 loadingif (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 progressbarelse 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>

【Framework7进度栏】立即测试

    推荐阅读