sui的一些方法封装
2017-03-21 10:14
183 查看
+ function($) { "use strict"; var today = new Date(); var getDays = function(max) { var days = []; for(var i=1; i<= (max||31);i++) { days.push(i < 10 ? "0"+i : i); } return days; }; var getDaysByMonthAndYear = function(month, year) { var int_d = new Date(year, parseInt(month)+1-1, 1); var d = new Date(int_d - 1); return getDays(d.getDate()); }; var formatNumber = function (n) { return n < 10 ? "0" + n : n; }; var initMonthes = ('01 02 03 04 05 06 07 08 09 10 11 12').split(' '); var initYears = (function () { var arr = []; for (var i = 1950; i <= 2030; i++) { arr.push(i); } return arr; })(); var defaults = { rotateEffect: false, //为了性能 value: [today.getFullYear(), formatNumber(today.getMonth()+1)], onChange: function (picker, values, displayValues) { var days = getDaysByMonthAndYear(picker.cols[1].value, picker.cols[0].value); }, formatValue: function (p, values, displayValues) { return displayValues[0] + '-' + values[1]; }, cols: [ // Years { values: initYears }, // Months { values: initMonthes } ] }; $.fn.monthPicker = function(params) { return this.each(function() { if(!this) return; var p = $.extend(defaults, params); $(this).picker(p); if (params.value) $(this).val(p.formatValue(p, p.value, p.value)); }); }; $.fn.selectedval = function(value){ var picker=this.data("picker"); var date=new Date(value); var year=value.substr(0,4); var month=value.substr(5,2); var day=value.substr(8,2); var hour=value.substr(11,2); var minutes=value.substr(14,2); value=[year,month,day,hour,minutes]; picker.initialized=true; picker.value=value; return false; }; $.fn.setMinutes = function(value){ var picker=this.data("picker"); picker.params.cols[6].values=value; }; $.fn.setDataSource = function(datasource){ var picker=this.data("picker"); picker.open(); picker.cols[0].replaceValues(datasource); }; }(Zepto);
monthPicker:只选择月份
selectedval:修改下拉框默认选择值
setminutes:修改分钟的数据源;
setDataSource:修改下拉框的数据源;
其实setDataSource可以写成跟setminutes一样的方法,只是我的产品需要,就不做修改了;
sui的scorll加载时,一定要提前执行,$.init();否则无效,我在最初使用时,老是看不到效果,就是因为这个,对比iscroll.js,sui的滚动更容易操作,兼容性也比较好
另外,sui是仿照framework7来写的,做了一些改进,framework7针对ios系统,sui同时支持ios和andriod
sui的sm.js一定要在body后面加载,否则没有效果,我在使用fremark模板时进行了相关配置,
<#macro weixin title="" css=[] script=[] systag=0> <html> <head> <title>${title!""}</title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="initial-scale=1, maximum-scale=1"> <#include "/include/weixin/link.ftl"/> <#list css as c> <link rel="stylesheet" type="text/css" href="${c}" /> </#list> <script src="${basePath}/weixin/js/zepto.min.js" charset="UTF-8"></script> </head> <body> <#nested /> </body> <#include "/include/weixin/script.ftl"/> <#list script as s> <script type="text/javascript" src="${s}" charset="UTF-8"></script> </#list> </html> </#macro>
相关文章推荐
- Javascript中prototype和方法封装的一些知识
- 对IE浏览器 本地化存储UserData的一些方法的封装
- 封装一些数据库SQLCipher的方法(增、删、改、查)
- 一些常见跨浏览器方法的封装(basic.js)
- C# Windows Api的一些方法 封装 以及 常用参数
- 原生js封装的一些jquery方法
- C# Windows Api的一些方法 封装 以及 常用参数 .
- C# Windows Api的一些方法 封装 以及 常用参数
- ionic中一些常用的方法封装
- 前端交互封装的一些javaScript方法
- jq封装ajax的一些方法(仅供自己参考)
- ios创建视图的一些方法封装
- js一些通用方法的封装
- android 封装一些高效方法
- appium一些常用方法的封装
- CryptTool 封装了一些加密工具方法-实用
- 自己整理的一些开发时候常用的js方法封装
- 自己重新实现QTP封装的一些常用的方法
- 如何简单的下载一些小文件并保存在一个路径中(有些方法进行了封装)
- 时间日期工具类 封装工作中常用的一些时间日期计算方法(转+自己修改)