aui移動端UI庫

来源:https://www.cnblogs.com/aui-js/archive/2020/05/14/12887498.html
-Advertisement-
Play Games

aui 簡介 aui 是一套基於原生javascript開發的移動端UI庫,包含常用js方法、字元校驗、dialog提示彈窗、側滑菜單、時間選擇器、多級聯動、聊天UI、項目常用模板...... 特點 1、標準化,產品化 2、更多復用,更快效率 3、多人協作,更加統一 4、維護方便 5、易於使用 6、 ...


aui

簡介

aui 是一套基於原生javascript開發的移動端UI庫,包含常用js方法、字元校驗、dialog提示彈窗、側滑菜單、時間選擇器、多級聯動、聊天UI、項目常用模板......

特點

1、標準化,產品化

2、更多復用,更快效率

3、多人協作,更加統一

4、維護方便

5、易於使用

6、減少UI設計時間

引用

<link rel="stylesheet" type="text/css" href="https://aui-js.github.io/aui/css/aui.min.css"/>
<script type="text/javascript" src="https://aui-js.github.io/aui/js/aui.min.js"></script>

演示

查看演示

組件

loading載入動畫

預覽

參數 類型 描述 預設值 必選
warp string 父容器元素 'body'
type number 1: 常用風格;
2: 點擊按鈕後在按鈕內顯示載入動畫;
3: 四個方塊旋轉;
4: 圓點放大縮小動畫(全屏首次載入過度動畫);
5: 圓點背景過度動畫-微信小程式效果(全屏首次載入過度動畫)
1
msg string 提示內容 ''
mask boolean 是否顯示遮罩蒙版 true
direction string 橫向("row")或縱向("col")控制 'col'
theme number type=3時,控制全屏或小窗展示(1:小窗; 2:全屏) 1
style object {
bg: '背景',
color: '文字顏色',
maskBg: '遮罩層顏色',
zIndex: '層級'
}
''

顯示loading載入:

aui.showload({
    msg: "載入中"
});

隱藏loading載入:

aui.hideload();

toast消息提示彈窗

預覽

參數 類型 描述 預設值 必選
warp string 父容器元素 'body'
msg string 提示內容 ''
icon string 圖標 ''
direction string 橫向("row")或縱向("col")控制 'col'
location string (icon參數未配置時可配置)位置
bottom:位於底部,從底部彈出顯示
middle:位於頁面中心位置
'bottom'
duration number 顯示時間 2000

示例:

aui.toast({
    icon: "../../img/success.png",
    msg: "支付成功!",
    direction: "col"
},function(ret){

});

dialog提示窗

預覽

參數 類型 描述 預設值 必選
warp string 父容器元素 'body'
title string 標題 ''
msg string 提示內容 ''
btns arr 按鈕,預設按鈕為“確定” 分別可設置btns值為
1:['按鈕1', '按鈕2']
2:[{name: '按鈕1', color: ''},{name: '按鈕2', color: ''}]
["確定"]
mask boolean 是否顯示遮罩蒙版 true
touchClose boolean 觸摸遮罩是否關閉模態彈窗 true
theme number 主題樣式,控制模態彈窗按鈕顯示風格(1: 大按鈕; 2: 小按鈕-居右分佈; 3: 按鈕寬度等於父級寬度100%,適用於按鈕文字過多情況) 'col'
items arr prompt--input框列表配置
[{label: '姓名:', type: 'text', value: '(可選)', placeholder: '請輸入姓名'}]
[]
duration number 顯示時間 2000
style object {
w: '', //--可選參數,模態窗寬度,預設80%
h: '', //--可選參數,模態窗高度,預設"auto"自適應
bg: '',//--可選參數,模態窗背景色,預設白色
zIndex: '', //--可選參數,模態窗層級
animate: '', //--可選參數,顯示動畫
title: {
bg: "",
color: "",
lineHeight: "",
textAlign: "",
fontSize: "",
padding: ""
}}
''

1、alert單按鈕提醒彈窗

aui.alert({
    title: "提示", //可選
    msg: "您點擊了alert單按鈕模態彈窗!",
    mask: true,
    touchClose: true, //可選
    btns: ["確定"], //可選
    //或btns: [{name: '按鈕1', color: '#f00'},{name: '按鈕2', color: '#00f'}], //可選
    theme: 1, //可選
    style: { //可選
        w: "75%",
        h: "auto",
        bg: '#FFF',
        zIndex: 999,
        animate: "aui-scale-in-tosmall-dialog",
        title: {
            bg: "#FFF",
            color: "#333",
            lineHeight:"55px",
            fontSize: "17px",
            textAlign: "center",
            padding: "0px"
        }
    }
},function(ret){
    console.log(ret.index);
    if(ret.index == 0){
        aui.toast({msg: "您點擊了確定"});
    }
});

2、confirm雙按鈕提醒彈窗

aui.confirm({
    msg: "您點擊了confirm雙按鈕模態彈窗!",
    btns: ["取消", "確定"],
},function(ret){
    console.log(ret.index);	
    if(ret.index == 1){
        aui.toast({msg: "您點擊了確定"});
    }
});

3、delete刪除提醒彈窗

aui.delete({
    msg: "您點擊了delete刪除模態彈窗!",
    btns: ["取消", "刪除"],
},function(ret){
    console.log(ret.index);	
    if(ret.index == 1){
        aui.toast({msg: "您點擊了刪除"});
    }
});

4、prompt輸入彈窗

aui.prompt({
    items: [{
        label: '姓名:', 
        type: 'text', 
        value: '', 
        placeholder: '請輸入姓名'
    },{
        label: '年齡:', 
        type: 'number', 
        value: '', 
        placeholder: '請輸入年齡'
    }],
    btns: ["取消", "確定"],
},function(ret){
    console.log(ret.data);	
    if(ret.index == 1)
    {
        aui.alert({
            title: "輸入結果:",
            msg: "<div style='text-align: left;'>姓名:" + ret.data[0] + "</br>年齡:" + ret.data[1]+"</div>",
            btns: ["確定"],
        }, function(ret){
            if(ret.index == 0){
                aui.toast({msg: "您點擊了確定"});
            }
        });
    }
});

5、confirm帶圖標雙按鈕提醒彈窗

aui.confirm({
    msg: "<div style='text-align: center;'>"
        +"<img src='../../img/success-green.png' style='width: 60px; margin: 0 auto;'>"
        +"<p style='width: 100%; line-height: 25px; color: 15px;'>帶圖標模態彈窗</p>"
    +"</div>",
    btns: ["取消", "確定"],
},function(ret){
    console.log(ret.index);	
    if(ret.index == 1){
        aui.toast({msg: "您點擊了確定"});
    }
});

6、多按鈕彈窗

aui.confirm({
    msg: "您點擊了多按鈕彈窗!",
    btns: [{name: '殘忍拒絕', color: ''},{name: '再逛逛', color: ''}, {name: "返迴首頁", color: "#909090"}], //可選
    theme: 3, //可選
},function(ret){
    console.log(ret.index);	
    if(ret.index == 0){
        aui.toast({msg: "您點擊了殘忍拒絕"});
    }
    else if(ret.index == 1){
        aui.toast({msg: "您點擊了再逛逛"});
    }
    else if(ret.index == 2){
        aui.toast({msg: "您點擊了返迴首頁"});
    }
});

actionsheet操作表

預覽

參數 類型 描述 預設值 必選
warp string 父容器元素 'body'
items arr 菜單列表[{name: "", color: "", fontSize: "", textAlign: ""}] []
mask boolean 是否顯示遮罩蒙版 true
touchClose boolean 觸摸遮罩是否關閉模態彈窗 true
cancle string 取消按鈕 ''
location string 位置
bottom:位於底部,從底部彈出顯示
middle:位於頁面中心位置
'bottom'
theme number 主題樣式(1: 非全屏寬度; 2: 全屏寬度) 1

示例:

aui.actionSheet({
    title: '上傳圖片',
    mask: true,
    touchClose: true,
    items: [{
        name: "從相冊選擇",
    },{
        name: "拍照"
    }],
    cancle: "取消",
    theme: 1,
    location: "bottom"
},function(ret){
    console.log(ret.index);				
});

actionmenu分享彈窗

預覽

參數 類型 描述 預設值 必選
warp string 父容器元素 'body'
items arr 菜單列表[{name: "", icon: "", iconColor: "", img: ""}] []
mask boolean 是否顯示遮罩蒙版 true
touchClose boolean 觸摸遮罩是否關閉模態彈窗 true
cancle string 取消按鈕 ''
location string 位置
bottom:位於底部,從底部彈出顯示
middle:位於頁面中心位置
'bottom'
theme number 主題樣式(1: 非全屏寬度; 2: 全屏寬度) 1
<link rel="stylesheet" type="text/css" href="https://aui-js.github.io/aui/css/aui.min.css"/>
<link rel="stylesheet" type="text/css" href="https://aui-js.github.io/aui/css/aui.actionmenu.css"/>
<script type="text/javascript" src="https://aui-js.github.io/aui/js/aui.min.js"></script>
<script type="text/javascript" src="https://aui-js.github.io/aui/js/aui.actionmenu.js"></script>

示例:

aui.actionMenu({
    title: '分享至',
    mask: true,
    touchClose: true,
    items: [
        {name: "微信", img: "../../img/weixin.png"},
        {name: "朋友圈", img: "../../img/pengyouquan.png"},
        {name: "QQ", img: "../../img/QQ.png"},
        {name: "微博", img: "../../img/weibo.png"}
    ],
    cancle: "取消",
    theme: 1,
    location: "bottom"
},function(ret){
    console.log(ret.index);				
});

popover菜單

預覽

參數 類型 描述 預設值 必選
warp string 父容器元素 'body'
items arr 菜單列表[{name: "", color: "", icon: "iconfont icongfont-right", iconColor: '', img: "", fontSize: "", textAlign: ""}] []
mask boolean 是否顯示遮罩蒙版 false
touchClose boolean 觸摸遮罩是否關閉模態彈窗 true
location string 位置
top: 設置彈窗顯示到觸發元素“上”方;
bottom: 設置彈窗顯示到觸發元素“下”方;
'top'
<link rel="stylesheet" type="text/css" href="https://aui-js.github.io/aui/css/aui.min.css"/>
<link rel="stylesheet" type="text/css" href="https://aui-js.github.io/aui/css/aui.popover.css"/>
<script type="text/javascript" src="https://aui-js.github.io/aui/js/aui.min.js"></script>
<script type="text/javascript" src="https://aui-js.github.io/aui/js/aui.popover.js"></script>

示例:

aui.popover.open({
    warp: '.aui-header-right',
    items: [
        {name: '微信', img: '../../img/weixin.png'},
        {name: '朋友圈', img: '../../img/pengyouquan.png'},
        {name: 'QQ', img: '../../img/QQ.png'},
        {name: '微博', img: '../../img/weibo.png'}
    ],
    mask: true,
    location: 'bottom'
},function(ret){
    console.log(ret);
    aui.toast({msg: ret.el.querySelector("span").innerHTML});
})	

picker多級聯動

預覽

參數 類型 描述 預設值 必選
warp string 父容器元素 'body'
title string 標題 ''
layer number 控制幾級聯動 1
data arr 數據 如:[{text: '', adcode: '', children: [{text: '', adcode: ''}]}] []
<link rel="stylesheet" type="text/css" href="https://aui-js.github.io/aui/css/aui.min.css"/>
<link rel="stylesheet" type="text/css" href="https://aui-js.github.io/aui/css/aui.picker.css"/>
<script type="text/javascript" src="https://aui-js.github.io/aui/js/aui.min.js"></script>
<script type="text/javascript" src="https://aui-js.github.io/aui/js/aui.picker.js"></script>

示例:

aui.picker.open({
    title: '選擇區域',
    layer: 3,
    data: cityData, //城市數據
    select: function(ret){
        console.log(ret);
    }
},function(ret){
    console.log(ret);
    if(ret.status == 1){
        aui.picker.close(function(){
            aui.alert({msg: ret.data.text + " " + ret.data.children.text + ' ' + ret.data.children.children.text});						
        });						
    }
})

poster廣告彈窗

預覽

參數 類型 描述 預設值 必選
warp string 父容器元素 'body'
mask boolean 是否顯示遮罩蒙版 true
touchClose boolean 觸摸遮罩是否關閉模態彈窗 true
image string 廣告圖片地址 ''
<link rel="stylesheet" type="text/css" href="https://aui-js.github.io/aui/css/aui.min.css"/>
<link rel="stylesheet" type="text/css" href="https://aui-js.github.io/aui/css/aui.poster.css"/>
<script type="text/javascript" src="https://aui-js.github.io/aui/js/aui.min.js"></script>
<script type="text/javascript" src="https://aui-js.github.io/aui/js/aui.poster.js"></script>

示例:

aui.poster({
    image: 'https://xbjz1.oss-cn-beijing.aliyuncs.com/upload/default/share.png'
});

sidemenu側滑菜單

預覽

參數 類型 描述 預設值 必選
warp string 父容器元素 'body'
content string 側滑菜單元素 ''
moves arr 跟隨拖動元素;[header——頁面頭部, .content——頁面內容部分] (moveType設置為"all-move" 或 "menu-move"時,此參數必須配置 []
moveType string ['main-move': '主頁面移動,側滑菜單固定']
['menu-move': '側滑菜單移動,主頁面固定']
['all-move': '主頁面+側滑菜單都移動']
'main-move'
position string 側滑菜單初始化位置,預設位於頁面左側 [left: '左側', right: '右側'] 'left'
mask boolean 是否顯示遮罩蒙版 true
maskTapClose boolean 觸摸遮罩是否關閉側滑菜單 true
speed number 打開、關閉頁面速度[值越大,速度越快] 10
drag object {
use: true, //--可選參數,是否開啟拖動打開、關閉菜單[true: 開啟 , false: 關閉]
start: null, //--可選參數,開始拖動回調
move: null, //--可選參數,拖動中回調
end: null, //--可選參數,拖動結束
}
{}
style object {
w: '80vw',
h: '100vh',
bg: '#333'
}
{w: '80vw', h: '100vh', bg: '#333'}
<link rel="stylesheet" type="text/css" href="https://aui-js.github.io/aui/css/aui.min.css"/>
<link rel="stylesheet" type="text/css" href="https://aui-js.github.io/aui/css/aui.sidemenu.css"/>
<script type="text/javascript" src="https://aui-js.github.io/aui/js/aui.min.js"></script>
<script type="text/javascript" src="https://aui-js.github.io/aui/js/aui.sidemenu.js"></script>

初始化:

aui.sidemenu.init({
	warp: '.aui-container',
	content: '#aui-sidemenu-wapper',
	position: 'left',
	moveType: 'main-move',
	moves: ['.aui-container'],
	mask: true,
	maskTapClose: true,
	drag: {
		use: true,
		//start: _this.dragcallback,
		//move: _this.dragcallback,
		end: function(ret){
			console.log(ret)
		}
	},
	style: {
		w: '70vw',
		h: '100vh',
		bg: '#333'
	},
}).then(function(ret){
	console.log(ret)
});

設置配置數據:

aui.sidemenu.setData({ //設置配置數據
	position: 'left',
	moveType: 'main-move'
}).then(function(ret){
	//console.log(ret)
});

打開側滑菜單:

aui.sidemenu.open({
	moveType: 'main-move',
	speed: 10,
}).then(function(ret){
	console.log(ret)
});

關閉側滑菜單:

aui.sidemenu.close({speed: 10}).then(function(ret){
	console.log(ret)
});

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 之前用 vuecli做了個博客,是一個單頁面項目,大概有十個路由。 直接 npm run build打包出來,有一個 1M的巨大 js文件。 先掛載到伺服器上試試 好家伙 這載入時間 仿佛過了半個世紀 首屏頁面整整載入了 9s 光載入那個大文件就花了 8s 這必須得做個優化了,沒有用戶能忍受 ...
  • 隨著互聯網全面進入移動時代,前端逐漸成為互聯網行業中的重要角色。前端是做什麼的?工作內容有哪些?簡單來講,前端要做的就是將產品的UI設計稿在用戶終端上實現,因此可以說用戶看到的所有視覺和交互都是前端的工作領域。根據這個定義,我們可以把前端的工作內容總結為根據產品的需求,配合開發和UI設計部門完成前端 ...
  • 以下我說的都是個人觀點,比較巨集觀粗淺,主要針對的是前端工程師本身,沒有深入技術和業務細節,請謹慎參考。 職能概覽 前端工程師首先是個程式員,其次也是個軟體工程師,他們工作在離用戶最近的地方,負責人機交互和用戶體驗,雖然叫“前端”,但其實他們的工作邊界其實已經很寬了。 展望未來,我想前端的工作會繼續分 ...
  • 聊聊 TypeScript 中的類型保護 在 TypeScript 中使用聯合類型時,往往會碰到這種尷尬的情況: 如上所示,getSmallPet 函數中,既可以返回 Fish 類型的對象,又可以返回 Bird 類型的對象。由於返回的對象類型不確定,所以使用聯合類型對象共有的方法時,一切正常,但是使 ...
  • 前端是什麼 工作流程為從UI處得到原型圖或者效果圖,在項目(網站、微信公眾號、小程式、WEBAPP)中還原圖片效果,然後與後臺進行各種數據交互。 在項目中充當一號背鍋俠,項目出現問題第一個收到傳喚的人。一個不受UI、後臺待見,甚至不受協同開發的其他前端待見的崗位。 前端, 一個讓我沉迷的崗位 前端, ...
  • 我終於理解了閉包 本文寫於 2020 年 5 月 14 日 閉包這個詞一聽就很高級,令人害怕。 但實際上,閉包非常的強大,JS 的精髓之一就是閉包。 實際上,我們經常在使用閉包,而不自知! Kyle Simpson 在書中將掌握閉包,比喻為: 不像 Luke 一樣接受訓練才能掌握原力,而是像 Neo ...
  • 對於網頁里引用微信公眾號圖片時出現的"此圖片來自微信公眾平臺, 未經允許不可飲用"的問題, 能搜索到的解決方案不多, 除去已經被和諧掉的, 大概可以分為兩種: 第一種, 更改圖片src, 例如 options.url = http + '//cors-anywhere.herokuapp.com/' ...
  • 【目錄】 一、什麼是JavaScript 二、如何學習JavaScript 三、JavaScript 的三種書寫位置 一、什麼是JavaScript 1、簡介 JavaScript 和 Java 一點關係也沒有,有也只是JavaScript 蹭 Java的熱度罷了…… # ECMAScript和Ja ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...