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

sui的一些方法封装的更多相关文章

  1. C#常用字符串加解密方法封装

    C#中常用的字符串加密.解密方法封装,包含只加密但不解密的方法.收藏起来备用. //方法一 //须添加对System.Web的引用 //using System.Web.Security; /// & ...

  2. 编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时会产生Additional information: 阅读器关闭时尝试调用 Read 无效问题,解决方法与解释

    在自学杨中科老师的视频教学时,拓展编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时 会产生Additional information: 阅读器关闭时尝试调用 ...

  3. C#方法封装与重构

    C#作为一个完全面向对象的语言,有个特性很重要但是往往会不重视,而不重视的结果就会造成代码杂乱难以解读.维护.这个特性就是封装.      这里不是大谈C#的封装,我只讲一个,关于方法封装的一些问题. ...

  4. 基于promise对小程序http请求方法封装

    原因是我不想每次请求都复制粘贴那么长的请求地址,所以我把前边那一坨请求地址作为基础地址,只传后台给的路由就ok,而且,并不是每次请求都要显示正在加载,这对小程序体验很差,所以,我加了个形参,用来判断是 ...

  5. AJAX原理解析与兼容方法封装

    AJAX常用参数 AJAX对象兼容 AJAX对象方法与属性 AJAX封装兼容方法源码 AJAX全称Asynchronous JavaScript and XML(异步的JavaScript与XML), ...

  6. 通用ajax请求方法封装,兼容主流浏览器

    ajax简单介绍 没有AJAX会怎么样?普通的ASP.Net每次运行服务端方法的时候都要刷新当前页面. 假设没有AJAX,在youku看视频的过程中假设点击了"顶.踩".评论.评论 ...

  7. appium安卓自动化的 常用driver方法封装

    appium安卓自动化的 常用driver方法封装 做安卓自动化的时候,很多方法写起来会造成代码冗余,把这部分封装起来 ,添加到androidUI工具类里,随时可调用 都放在这个类下面: @Compo ...

  8. 【前端学习笔记04】JavaScript数据通信Ajax方法封装

    //Ajax 方法封装 //设置数据格式 function setData(data){ if(!data){ return ''; } else{ var arr = []; for(k in da ...

  9. appium+python自动化24-滑动方法封装(swipe)

    swipe介绍 1.查看源码语法,起点和终点四个坐标参数,duration是滑动屏幕持续的时间,时间越短速度越快.默认为None可不填,一般设置500-1000毫秒比较合适. swipe(self, ...

随机推荐

  1. matlab 中max函数用法

    Matlab中max函数在矩阵中求函数大小的实例如下:(1)C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的 ...

  2. 【Zookeeper】源码分析之请求处理链(一)

    一.前言 前面已经分析了Watcher机制的主要代码,现在接着分析Zookeeper中的请求处理链,其是Zookeeper的主要特点之一. 二.总体框图 对于请求处理链而言,所有请求处理器的父接口为R ...

  3. [MongoDB] - mongod.exe参数详解

    mongod.exe是启动mongodb的命令,我们可以通过mongod --help来查看帮助文档.下面是各个参数的对应中文解释.<基于Mongo3.0.5> 通用参数选项 -h/--h ...

  4. C语言位运算符:与、或、异或、取反、左移和右移

    语言位运算符:与.或.异或.取反.左移和右移 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符 ...

  5. java学习笔记之线程(Thread)

    刚开始接触java多线程的时候,我觉得,应该像其他章节的内容一样,了解了生命周期.构造方法.方法.属性.使用的条件,就可以结束了,然而随着我的深入学习了解,我发现java的多线程是java的一个特别重 ...

  6. thinkcmf,thinkphp,表格导入(PHPexcel)的实现,新手向

    对于新手来说,可以把表格中的数据导入进数据库那是十分好玩的一件事,我自己实现了一下网上的写法,基于PHPexcel实现的表格导入,踩了2个小时的坑,最终实例! 因为在thinkcmf中自己添加了php ...

  7. Ognl值栈对象及struts标签

    用户每次访问struts的action,都会创建一个Action对象.值栈对象.ActionContext对象:然后把Action对象放入值栈中: 最后再把值栈对象放入request中,传入jsp页面 ...

  8. sql server数据库备份压缩拷贝实例

    --数据库备份压缩拷贝实例:前提要安装RAR压缩软件--声明变量declare @day varchar(10),@dbname varchar(20),@filename varchar(100), ...

  9. Java代理(静态/动态 JDK,cglib)

    Java的代理模式是应用非常广泛的设计模式之一,也叫作委托模式,其目的就是为其他的对象提供一个代理以控制对某个对象的访问和使用,代理类负责为委托类预处理消息,过滤消息并转发消息,以及对消息执行后续处理 ...

  10. 基于fiddler的APP抓包及服务端模拟

    在HTTP接口的测试过程中,一般我们会按照如下的步骤进行: 1)测试环境的准备 2)HTTP消息体的构造 3)HTTP消息的发送及断言 如果我们可以拿到项目组的接口文档,并且HTTP后台服务是可以工作 ...