mui框架

article/2025/9/24 3:43:17

1 MUI介绍

1.1 MUI是什么,解决了什么问题。


(1)性能和体验的差距,一直是mobile app开发者放弃HTML5的首要原因。 浏览器天生的切页白屏、不忍直视的转页动画、浮动元素的抖动、无法流畅下拉刷新等问题,这些都让HTML5开发者倍感挫败,尤其拿到Android低端机运行,摔手机的心都有(如果开发者需要解决这些问题,需要处理很多兼容性问题,需要花费大把的时间和精力);

(2)浏览器默认控件样式(prompt、alert)又少又丑,制作一个漂亮的控件非常麻烦,也有一些制作简单的ui框架但性能低下。

(3)mui框架解决的问题:一个可以方便开发出高性能App的框架,也是目前最接近原生App效果的框架。有些控件就是原生态的效果,mui起到了桥梁的作用。

了解:

MUI是国产的,北京数字天堂。。。和它配套的有开发工具HBuilder,5+runtime
5+runtime:可以将H5打包成native app,原理:利用原生态的webview去承载HTML5。
这里写图片描述

1.2 MUI的特点


(1)轻量
追求性能体验,是我们开始启动MUI项目的首要目标,轻量必然是重要特征;
MUI不依赖任何第三方JS库,压缩后的JS和CSS文件仅有100+K和60+K
可以根据自个的需要,自定义去下载对应的模块。和我们接触的zepto.js类似。

(2)原声UI
鉴于之前的很多前端框架(特别是响应式布局的框架),UI控件看起来太像网页,没有原生感觉,因此追求原生UI感觉也是我们的重要目标
MUI以iOS平台UI为基础,补充部分Android平台特有的UI控件;
容易上手 ;
不需要其他框架基础:语法上和我们之前 学到用到 的写法是一样的。

其他框架:ionic(Angular.js), react(native),vue(发音:view)
vue、react、Angular.js是并列关系。
前端是:vue和react的天下

1.3 MUI存在的问题

(1)名气不是很大,国产,不像react、Angular.js那样,世界范围都在使用。目前国内MUI使用的公司还是很多的。
(2)框架本身存在一些bug还有一些待解决的问题。(tap == click)

1.4分析MUI结构


dist:distribution的缩写,存放目标,发布的文件,对于一些框架来说,使用者将里面的文件copy出来直接用就OK

examples:存储案例(demo)的文件

grunt:存储js模块化相关的文件,类似sass里面引用sass,这里是js里面引用js。和grunt类似的工具用gulp,webpack。

plugin:存储该框架的插件(扩展)
这里写图片描述

2 UI组件

2.1 accordion(折叠面板)

<ul class="mui-table-view"> <li class="mui-table-view-cell mui-collapse"><a class="mui-navigate-right" href="#">面板1</a><div class="mui-collapse-content"><p>面板1子内容</p></div></li></ul>

可以在折叠面板中放置任何内容;折叠面板默认收缩,若希望某个面板默认展开,只需要在包含.mui-collapse类的li节点上,增加.mui-active类即可;mui官网中的方法说明,使用的就是折叠面板控件。

2.2 actionsheet(操作表)

2.3 dialog(对话框)

(1)警告框:

$.alert('警告的内容\n可以使用\n换行', '警告标题',"按钮的文字" ,function() {//点击确认的回调
});

注:.alert( message, title, btnValue, callback ) message必须是字符串

(2)确认框
var btnArray = [‘否’, ‘是’];

$.confirm('是否确认删除', '确认的标题', btnArray, function(e) {//通过e.index可以知道用户点击了哪个按钮if (e.index == 1) {$(this)[0].innerHTML = "ok";} else {$(this)[0].innerHTML = "no"}
})

注:显示什么按钮是一个数组,当这个数组只有一个元素的时候,类似于警告框

(3)输入框
.prompt( message, placeholder, title, btnValue, callback )

var btnArray = ['取消', '确定'];
$.prompt('请输入评语:', '性能好', 'Hello MUI', btnArray, function(e) {if (e.index == 1) {$(this)[0].innerHTML = '谢谢你的评语:' + e.value;} else {$(this)[0].innerHTML = '你点了取消按钮';}
})

(4)toast提示框

$.toast('欢迎体验Hello MUI');

2.4 list(列表)

<ul class="mui-table-view"><li class="mui-table-view-cell"><a class="mui-navigate-right">Item 1</a></li><li class="mui-table-view-cell"> Item 2<span class="mui-badge mui-badge-primary">11</span></li><li class="mui-table-view-cell"> <a class="mui-navigate-right">Item 3</a></li>
</ul>

2.5 ipnut (表单)
(1)密码输入框,后面有一个小眼睛

(2)输入框后面可以设置一个 清除的按钮
2.6 number box(数字输入框)

<div class="mui-numbox" data-numbox-step='10' data-numbox-min='0' data-numbox-max='100'><button class="mui-btn mui-numbox-btn-minus" type="button">-</button><input class="mui-numbox-input" type="number" /><button class="mui-btn mui-numbox-btn-plus" type="button">+</button></div>

注:
(1)我们可以设置输入框的最大值、最小值、设置修改的步长
(2)可以获取到输入框的值。Mui有方法提供
(3)我们可以通过js设置输入框的值。Mui有方法提供
(4)我们可以通过js设置输入框修改的步长,Mui有方法提供

了解:组件化开发。在前端,还是后端(Java)都在提倡。
定义:在解耦复杂系统时,多个功能模块进行拆解、重组的过程,有多种的属
性、状态反映其内部的特性
目的:对复杂系统拆分成多个组件,方便对其独立升级和优化。

2.7 ipnut (表单)

2.8 picker(选择器)

2.9 switch(开关)

<div class="mui-switch mui-active" id="mySwitch"><div class="mui-switch-handle"></div>
</div>

注:
(1)根据div中是否包含mui-active 来判断当前开关的状态。
(2)我们可以通过js去设置开关的状态,mui提供方法
(3)我们可以监听到开关改变的状态,mui提供方法

2.10 slide(轮播组件)

2.11 图片轮播

2.12遮罩蒙版

对框架进行原生态代码的转化

mui("#close")[0].style.display = "block";

在转回框架

mui(mui("#close")[0]);

自学:
(1)侧滑导航
(2)radio(单选框)
(3)badge(数字角标)
(4)checkbox(复选框)
(5)弹出菜单

案例:

3 Utils

3.1 init

mui框架将很多功能配置都集中在mui.init方法中,要使用某项功能,只需要在mui.init方法中完成对应参数配置即可,目前支持在mui.init方法中配置的功能包括:创建子页面、关闭页面、手势事件配置、预加载、下拉刷新、上拉加载、设置系统状态栏背景颜色。

3.2 mui()

这里mui和我们之前接触的jQuery的 mui 理解成一个函数。mui()、$()理解为函数调用。
mui(“#XX”),mui(“.XX”)

(function ($,document) {$('#sheet1').popover('toggle');
})(mui,document)

上面这种写法的好处:
(1)执行速度更快
(2)更方便代码压缩

mui或者jQuery对象转成dom元素

$(“sle”)[0]\mui(“sle”)[0]

原生态转成mui或者jQuery对象

$(“sle”)、mui(“sle”)、$($(“sle”)[0])、mui(mui(“sle”)[0])

3.3 each()

3.4 extend()

3.5 scrollTo()

3.6 os

自个了解:navigator.userAgent
通过这个,你可以间接地获取,当前设配信息
比如:手机类型(Andriod、iOS)、浏览器类型(WeChat浏览器、QQ浏览器、还是其他浏览器)

(function ($,document) {var isAndriod = $.os.android;if(isAndriod){$.alert("您用的是安卓手机")}else {$.alert("您用的是街机")}var isWechat = mui.os.wechat;if(isWechat){$.alert("微信浏览器");}else{$.alert("非微信浏览器");}var isAndroid = $.os.android;var iOS = $.os.ios;if(!isAndroid && !iOS){$.alert("winPhone");}
})(mui,document)

通过mui提供的方法,可以获取到
(1)系统的版本(iOS、Andriod)
(2)系统的版本
(3)浏览器的类型(WeChat、QQ)

4窗口管理

4.1 页面初始化

4.2 打开新页面

4.3 关闭页面

5事件

5.1 事件绑定

(function ($,document) {$("body").on("click","#btnClick",f1);function f1() {$.alert("点击了!");};$("body").on("click","#cancel",function () {$("body").off();});
})(mui,document)

注:写取消事件时,将书写 绑定事件的代码复制过来,将on改成off即可。
当然,off()事件可以不带参数。

了解:面向对象的3大特性:(封装、继承、多态)

5.2 事件取消

5.3 事件触发

使用mui.trigger()方法可以动态触发特定DOM元素上的事件。
注:第一个参数是DOM原生态元素。

4.4 手势事件

这里写图片描述

6 Aajx

7下拉刷新

加载第一页最新的数据,如果服务器数据没有变更,那么和上次获取的到的数据是一样的。
将获取到的第一页数据放置到页面之前,先清除原有的数据。

8上拉加载

加载下一页数据,同时放到原有数据的最后端。
根据返回数据的条数 和pagesize进行判断,确实是否还有下一页。
将当前页码存为一个全局变量page。
当有下拉刷新的时候,page值需要重置
这里写图片描述
这里写图片描述


http://chatgpt.dhexx.cn/article/vHgvwJdV.shtml

相关文章

MUI框架初级教程

写在前面 本系列文章我们将利用mui基于网易云音乐API实现一个音乐播放器APP&#xff0c;同时基于环形或者融云实现聊天功能。作为本系列文章的第一篇&#xff0c;本文会详细讲解html5中管理应用窗口界面的Webview模块的用法&#xff0c;因为是初级教程篇不过多讲解原理部分&…

MUI框架的基本使用

要使用MUI框架&#xff0c;在Hbuilder中必须新建HTML5 APP&#xff0c;并且创建MUI项目&#xff0c;Hbuilder会自动生成代码 MUI页面的使用&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><meta name"viewport&…

MUI框架开发APP详解,一篇就够了

MUI框架开发APP详解&#xff0c;一篇就够了 1.MUI简介2.下载安装hbuilderx3.新建一个5app项目4.制作首页首页头部首页主体 5.制作底部选项卡6.H5plus使用设置页面样式蜂鸣 7.app打包发布基础配置图标配置发行 1.MUI简介 最接近原生APP体验的高性能前端框架 追求性能体验&…

Flask第五天-Mui+HTML5PLUS介绍、APP开发环境、MUI+HMTL5PLUS登录页面、Mui.post实现post请求、Mui.fire

一、MUI框架&#xff08;前端UI框架&#xff09; &#xff08;一&#xff09;MUI框架简介及优劣势分析&#xff1a; 1.MUI基本介绍及优劣势分析 MUI是一套前端框架&#xff0c;由DCLOUD公司研发而成&#xff0c;提供大量H5和js语言组成的组件&#xff0c;大大提高了开发效率&…

Eclipse修改字体大小

字体调整大小1.打开eclipse&#xff0c;点击“window” 2.在下拉菜单中展开找到“preferences”&#xff0c;在左边菜单中点击“general”&#xff0c;找到后展开“appearance”。 3.选择“colors and fonts”。 4.找到basic&#xff0c;点击Text Font&#xff0c;双击鼠标右…

eclipse字体大小设置

eclipse字体大小设置 ①点击菜单上的Window窗口 ②点击Preferences选项 ③General→Appearance→Colors and Fonts ④选中Text Font ⑤点击Edit ⑥更改字体大小

修改Eclipse字体以及背景颜色

操作界面默认颜色为白色。对于我们长期使用电脑编程的人来说&#xff0c;白色很刺激我们的眼睛&#xff0c;所以我经常会改变workspace的背景色&#xff0c;使眼睛舒服一些。设置方法如下&#xff1a; 1、打开window->Preference,弹出Preference面板 2、展开General标签&a…

eclipse 快捷调整字体_eclipse字体大小设置快捷键

原标题:"win10系统如何更改Eclipse字体大小"关于电脑问题教程分享。 - 来源:191路由网 - 编辑:小元。 因为编辑需要,不少朋友都会在windows10系统电脑中安装Eclipse英文版软件,用户对于代码的应用应该是没有问题的,可在英文版Eclipse设置字体小大却是两眼一抹黑,…

Eclipse字体颜色控制

注:以下为转载,觉得写的很全,只为方便自己查看,或他人查看 因为eclipse字体颜色默认的我们看久了会觉得有点眼睛不舒服&#xff0c;特别是在晚上&#xff0c;太亮了&#xff0c;我觉得eclipse的白色背景太刺眼了看着不舒服 此时我们就希望设置一下字体eclipse字体颜色&#xf…

eclipse改变html字体大小,eclipse字体大小设置(eclipse如何调整页面字体大小)

eclipse字体大小设置(eclipse如何调整页面字体大小)每个人在敲代码的时候习惯都不会一样&#xff0c;有的人喜欢字体大一些看起来容易&#xff0c;有的人喜欢字体小一些&#xff0c;看的范围广&#xff0c;看得更全面&#xff0c;这样今天教大家如何调整字体的大小&#xff0c;…

java eclipse字体大小设置_eclipse字体大小如何设置-eclipse字体大小设置方法 - 河东软件园...

Eclipse是一款Java的可扩展开发平台&#xff0c;用户在开发Java项目是都会选择使用Eclipse&#xff0c;而通过Eclipse进行编辑时&#xff0c;经常需要设置字体与大小&#xff0c;但由于许多用户大多下载的是英文版&#xff0c;所以不知道如何进行设置&#xff0c;而今天为用户带…

Eclipse设置字体大小

Eclipse设置字体大小 01、打开Window–>Preferences 02、选择Genneral–>Editors 03、点击Colors and Fonts 04、选择Text Font 05、设置字体大小

Eclipse 修改字体教程

首先选择左上角的 Window&#xff0c;然后选择Preferences 会弹出如下界面 点开General&#xff0c;然后点开Appearance&#xff0c;然后点开Colors and Fonts 出现如下界面 然后选择Java —> Java Editor Text Font —> Edit 就可以在出现的界面调字体了

eclipse字体调整

1.左边workspace 区域 在view and Editor Folders 中修改 2. Java文件在下图中设置 3.JSP文件字体在Basic->中的Test Font 中修改

Eclipse更改字体大小

1、首先点击window窗口的点击preferences选项 2、接着弹出一个面板&#xff0c;在面板里点击General&#xff0c;再点击Appearance下方的Colors and fonts选项&#xff0c;选择Basic选项 3、下拉选择Text Font 4、接着会出现字体更改窗口&#xff0c;更改想要的字体大小即可

调整Eclipse字体大小

Eclipse 字体有两处&#xff0c;一处是控制台的字体&#xff0c;一处是主窗口。这里分别介绍控制台和主窗口字体的调节方法。 Window -> Preferences -> General -> Appearance -> Colors and Fonts -> Basic -> Text Font -> Edit 调节控制条字体大小。…

Eclipse设置字体

在eclipse中的windows找到Preferences 点击General -->Appearance -->Colors and font 找到Basic并展开 找到Basic中的Text Font&#xff0c;选中后点击Edit 选择字体后点击确定 最后Apply就应用成功&#xff01;

eclipse字体背景变红或者变绿的解决办法

今天用eclipse写代码时&#xff0c;背景颜色突然变绿了&#xff0c;不知道具体什么原因 **解决办法&#xff1a;**右键→Show In→Coverage&#xff0c;再点击双x图标

更改eclipse字体

1、打开eclipse&#xff0c;点击菜单栏window选项 2、在显示的列表中点击Preferences 3、在出现的窗口依次点击General-->Appearance-->Colors and Fonts 4、在右侧列表找到Java-->Java Editors Text Font(set to default:Text Font) 5、在弹出的窗口选择要更改的字体…

eclipse字体大小调整

Eclipse 字体有两处&#xff0c;一处是控制台的字体&#xff0c;一处是主窗口。这里分别介绍控制台和主窗口字体的调节方法。 Window -> Preferences -> General -> Appearance -> Colors and Fonts -> Basic -> Text Font -> Edit 调节控制条字体大小。 …