js中添加如下代表,注意不要放在ready中
var
isPageHide = false;
window.addEventListener('pageshow',
function() {
if (isPageHide) {
window.location.reload();
}
});
window.addEventListener('pagehide',
function() {
isPageHide = true;
});
[……]
js中添加如下代表,注意不要放在ready中
var
isPageHide = false;
window.addEventListener('pageshow',
function() {
if (isPageHide) {
window.location.reload();
}
});
window.addEventListener('pagehide',
function() {
isPageHide = true;
});
[……]
使用sessionStorage和localStorage不能直接存储json数据,需要转为字符串存储,也不支持过期时间的限制,比较不方便,现封装了一下sessionStorage和localStorage,放出来方便大家使用:
JSONStorage
changePartition(partitionName);分区存储,避免key冲突,可不切换分区
put(key,data,timeout);timeout不设置,就与sessionStorage和localStorage的过期策略一致
get(key);获取数据内容,JSON还原日期数据好像有问题,有需要可以自己改一下
var st = new JSONStorage(sessionStorage); st.changePartition("test"); var applydata = { applyid : "1234", amount : 1234 }; st.put("1",applydata ,12); st.remove("1");
(function(global, fact[......]
最近写了一个倒计时的控件,共享出来方便使用
用法:var stopwatch = new Stopwatch(“倒计时间/秒”,”倒计时完成时的回调函数”,”每个计时事件回调”,”计时步长/秒”)
stopwatch.start();//开始/继续计时
stopwatch.pause();//暂时计时
stopwatch.restart();//重新开始计时
stopwatch.stop();//停止计时
(function(global, factory) { // 兼容requirejs和普通引入模式 if (typeof module === "object" && typeof module.exports === "object") { module.exports = global.document ? factory(global, true) : function(w) { if (!w.document) { throw new Error("requires a window with a document[......]
Validate.js
工作方式:
读取输入框的属性,校验输入框的值如:
<input class=”weui-input” type=”tel” name=”idcard” id=”inputIdcard” maxlength=”18″
pattern=”^\d{15}|^\d{17}[0-9Xx]$” data-pattern-msg=”请输入正确的身份证号”
data-inputing-pattern=”^\d{0,15}$|^\d{0,17}[0-9Xx]$” data-inputing-msg=”请输入正确的身份证“
required=”required” data-required-msg=”请输入身份证号“
>
ps.对于required和pattern,html5默认实现了一套规则,需要在表单上禁用:
<form id=”calcForm” novalidate></form>
处理规则:
pattern:提交表单时的正则验证
data-pattern-msg:不匹配规则时的提[……]
有时候会遇到需求,在页面开着的时候session不让超时,只需要定时发送一个请求即可
具体的实现方式有很多,例:
[……]
进行”指针地址”比较
[……]
对于小括号无论是菜鸟还是高手一定都不会陌生,可以说它几乎是随处可见,虽然熟悉但并非真正的理解,由此可能会产生很多莫名其妙的错误,下面就通过代码实例详细介绍一下小括号的用法。
分组运算符应该是再熟悉不过了,因为在小学数学中就有应用,例如:
var a=(1+2)*4; console.log(a);
以上代码的输出值是12,因为分组运算符可以改变运算符的优先级,否则的话输出值是9。
1.很多教程说它是一个强制运算符,其实在ECMAScript中,根本就没有强制运算符这么一个概念,它就是普通分组运算符。
2.这也是为什么eval()函数将json格式字符串转换为对象需再嵌套一个小括号的原因,可以参阅使用eval()将json字符串转换为对象要多加一个小括号一章节。
在声明函数或者调动函数的时候,如果有参数,那么就会将参数放在小括号之中,代码如下:
function func(a,b){ //代码 }
调用
func(1,2);
$.views.helpers({ "debug" : function() { var info = "debug helper"; } });
[……]