SUI使用经验
基本布局结构:
本地js、css请使用正确的路径
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>审批</title> <meta name="viewport" content="initial-scale=1, maximum-scale=1"> <link rel="shortcut icon" href="/favicon.ico"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm.min.css"> <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm-extend.min.css"> <script src="/wgh/examine/mobile/assets/js/zepto.js"></script> <script src="/wgh/examine/mobile/dist/js/sm.js"></script> <script src="/wgh/examine/mobile/dist/js/sm-extend.js"></script> </head> <body> <!-- page集合的容器,里面放多个平行的.page,其他.page作为内联页面由路由控制展示 --> <div class="page-group"> <!-- 单个page ,第一个.page默认被展示--> <div class="page"> <!-- 标题栏 --> <header class="bar bar-nav"> <a class="icon icon-me pull-left open-panel"></a> <h1 class="title">标题</h1> </header> <!-- 工具栏 --> <nav class="bar bar-tab"> <a class="tab-item external active" href="#"> <span class="icon icon-home"></span> <span class="tab-label">首页</span> </a> <a class="tab-item external" href="#"> <span class="icon icon-star"></span> <span class="tab-label">收藏</span> </a> <a class="tab-item external" href="#"> <span class="icon icon-settings"></span> <span class="tab-label">设置</span> </a> </nav> <!-- 这里是页面内容区 --> <div class="content"> <div class="content-block">这里是content</div> </div> </div> <!-- 其他的单个page内联页(如果有) --> <div class="page">...</div> </div> <!-- popup, panel 等放在这里 --> <div class="panel-overlay"></div> <!-- Left Panel with Reveal effect --> <div class="panel panel-left panel-reveal"> <div class="content-block"> <p>这是一个侧栏</p> <p></p> <!-- Click on link with "close-panel" class will close panel --> <p><a href="#" class="close-panel">关闭</a></p> </div> </div> <!-- 默认必须要执行$.init(),实际业务里一般不会在HTML文档里执行,通常是在业务页面代码的最后执行 --> <!-- <script>$.init()</script> --> <script type="text/javascript"> $(document).ready(function(){ $.init(); }); </script> <script type='text/javascript' src='//g.alicdn.com/sj/lib/zepto/zepto.min.js' charset='utf-8'></script> <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm.min.js' charset='utf-8'></script> <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm-extend.min.js' charset='utf-8'></script> </body> </html>
组件
1.picker
基本结构:
<input type="text" id='picker'/> <script> $("#picker").picker({ toolbarTemplate: '<header class="bar bar-nav">\ <button class="button button-link pull-left">按钮</button>\ <button class="button button-link pull-right close-picker">确定</button>\ <h1 class="title">标题</h1>\ </header>', cols: [ { textAlign: 'center', values: ['iPhone 4', 'iPhone 4S', 'iPhone 5', 'iPhone 5S', 'iPhone 6', 'iPhone 6 Plus', 'iPad 2', 'iPad Retina', 'iPad Air', 'iPad mini', 'iPad mini 2', 'iPad mini 3'] } ] }); </script>
cols的使用
cols: [
{
textAlign: 'center',
//选中显示
values: values,
//下拉显示
displayValues:displayValues
}
得到值:
$(".picker-selected").html(); //获得dispalyValue
$("#m_type").val(); //得到value
clear清除:
在picker组件外写一个div,通过div实现清除
$("#m_type_div").html('');
$("#m_type_div").html('<b>业务类型:</b><input type="text" id="m_type" onchange="m_type_change()"/><input type="hidden" id="m_type_text"/>');
注意点:
在通过id赋值后,点击picker组件会默认选择第一个。因此我尝试把picker组件放到click方法中,可以正常使用。
(如果有人有好的方法,可以回复。。。)
eg:
$("#m_import_channel").val(n.org_id);
$("#m_import_channel").attr("onclick",showTemp_import_channel(id,area_id));
2.datetime-picker
//日历模板
function clickRequestTime(e) {
var time = $("#m_requesttime").val();
var d;
if(time != null && time != ''){ //判断原来是否有值
var remindTime = time;
var str = remindTime.toString();
str = str.replace("/-/g", "/");
d = new Date(str);
}else{
d = new Date();
}
var year = d.getFullYear(); //getYear() 请使用 getFullYear() 方法代替。
var month = d.getMonth()+1; //从 Date 对象返回月份 (0 ~ 11)
var date = d.getDate();
var hour = d.getHours();
var minute = d.getMinutes();
$("#m_requesttime").datetimePicker({
value: [year, month, date, hour, minute]
});
}
3.Popup
可以通过在链接上使用特定的类和data属性打开和关闭所需的popups:
- 为了打开popup,我们需要添加 "open-popup" 类到任意 HTML 元素上 (最好是链接)
- 为了关闭popup,我们需要添加 "close-popup" 类到任意 HTML 元素上 (最好是链接)
- 如果你的App里有超过一个popups, 你需要指定适当popup,则需添加额外的属性 data-popup=".my-popup" 到这个 HTML 元素上
eg.
<button class="open-popup open-rewrite button" data-popup=".popup-rewrite">开启</button>
<!-- rewrite Popup -->
<div class="popup popup-rewrite">
<div class="content-block">
<p>About</p>
<p><a href="#" class="close-popup button button-dark">关闭</a></p>
<p>Lorem ipsum dolor ...</p>
</div>
</div>
资源下载:
只需要如下几个简单的步骤,就可以在你的应用中使用SUI Mobile了
SUI Mobile组件库
示例和js资源