+ 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>