随笔分类 - JS
摘要:a标签,绑定了事件,但在ie6下点了没反应可能用了href="javascript:void(0)",换成href="#nogo"试试
阅读全文
摘要://将数组变量直接赋值给变量是传地址var a = [1];var b = a;a.push(2);b; //[1, 2]//如果只希望拷贝数组var b = a.slice(0); //arrayObject.slice(start, end) 从已有的数组中返回选定的元素//或var b = a.concat();//或var b = [].slice.call(a, 0);//注:仅适用于一维数据,多维数据深拷贝加递归
阅读全文
摘要:让ie也能享用css3但导入的文件太大,有40K<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content=&qu
阅读全文
摘要:jsonp不能post!1. jsonp的请求都为get2. jsonp相当于loadJS, 返回的"数据"直接以js执行$.ajax({ url : "/static/get.php", data : { aa : "name" }, type : "post", success : function(data){ alert(data); }})抓包可以看到:请求:http://xx/get.php?callback=jQuery17208796953377313912_1366782553589但type:&
阅读全文
摘要:<!DOCTYPE html><html><head><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>frostbelt_test_forever</title><script type="text/javascript" src="js/zepto.min.js"></scr
阅读全文
摘要:1. 最简单var template = "this is a {img}";template = template.replace("{img}", "http://xxx");//this is a http://xxx2. 如果template中有两个同样的?var template = "this is a {img}, this {img} is beautiful";template = template.replace(/{img}/g, "http://xxx");//this
阅读全文
摘要:运行网上看到个数字转大写的,先记下function transform(tranvalue) { try { var i = 1; var dw2 = new Array("", "万", "亿"); //大单位 var dw1 = new Array...
阅读全文
摘要:/** * 格式化时间,1秒前,1分钟前 今天 10:11 昨天 10:11 9月11日 10:10 * @param {Date} date 时间对象 * @param {Date} currentDate 对比时间 * @return {String} 格式化后的时间内容 */var shortTime = function(date, currentDate) { var now = currentDate, // 今日秒数 todaySec = now.getHours() * 3600 + now.getMinutes() * 60 + now.ge...
阅读全文
摘要:哪里都在用suggest。自己写一个,改起来灵活随意function Suggest(obj, url, callback){ obj = typeof obj == "string" ? $("#" + obj) : $(obj); this.position = obj.offset(); this.left = this.position.left; this.top = this.position.top; if(obj[0].offsetHeight){ this.top = this.top + obj[0].offsetHeight; }
阅读全文
摘要:checkbox , radio 的点选不会修改它们的checked属性以下用法无效:$("input[name=q][checked]");$("input[name=q][checked=checked]");以下用法有效:$("input[name=q]:checked");是否已选?$(this).is(":checked")改变状态this.checked = bool;
阅读全文
摘要:// js实现身份证号码验证// IdCard-Validate.js代码如下:/*** 身份证15位编码规则:dddddd yymmdd xx p * dddddd:地区码 * yymmdd: 出生年月日 * xx: 顺序类编码,无法确定 * p: 性别,奇数为男,偶数为女* <p />* 身份证18位编码规则:dddddd yyyymmdd xxx y * dddddd:地区码 * yyyymmdd: 出生年月日 * xxx:顺序类编码,无法确定,奇数为男,偶数为女 * y: 校验码,该位数值可通过前17位计算获得* <p />* 18位号码加权因子为(从右到左)
阅读全文
摘要:为什么有时候jquery的ajax会不好使呢?试试自己的jsonp吧function jsonp(src) { var script = document.createElement('script'), s = document.getElementsByTagName('script')[0]; script.onreadystatechange = script.onload = function () { if (!script.readyState || /loaded|complete/i.test(script.readyState)) { scr
阅读全文
摘要:<span id="loading_span" style="display:none;">...</span> <button id="btnSubmit">提交</button> <script type="text/javascript"> $("#loading_span").bind({ ajaxStart:function() {$(this).show();}, ajaxStop:function() {$(this).h
阅读全文
摘要:有些时候在测试环境和线上环境的不同,导致在线系统的js难易跟踪调试特别是一些动态js脚本。fiddler这个工具给我减少了很多调试上的烦恼,尤其是强大的AutoResponder.它可以抓取在线页面保存到本地进行调试,这大大减少了在线调试的困难。下面以http://www.fiddler2.com/fiddler2为例简单描述一下操作步骤:1、打开fiddler2,在浏览器中输入http://www.fiddler2.com/fiddler2。在fiddler2可以看到请求记录。2、选择需要调试的页面,右键-Save-Response-Response body3、点击fiddler A...
阅读全文
摘要:1. IP地址/^(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]{1}|0[1-9]{1}[0-9]{1}|00[1-9]{1})\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]{1}|0[1-9]{1}[0-9]{1}|00[1-9]{1}|0)\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]{1}|0[1-9]{1}[0-9]{1}|00[1-9]{1}|0)\.(25[0-5]|2[0-4][0-9]|1[
阅读全文
摘要:function cloneFun(obj){ if(!obj||"object" != typeof obj){ return null; } var result = (obj instanceof Array)?[]:{}; for(var i in obj){ result[i] = ("object" != typeof obj[i])?obj[i]:cloneFun(obj[i]); } ...
阅读全文
摘要://可阻止页面刷新、跳转、关闭 window.onbeforeunload = function(event){ event=event||window.event; event.returnValue="确定要离开当前页面?"; }; //而window.onunload不会阻止页面刷新、跳转或关闭,只是在走前留下一句话
阅读全文
摘要:打开一个那边发过来的页面,里面全是placeholder。没见过,一时气愤全部ko,用传统的方法都能搞定的东西,为啥要标新立异!后来发现如果想在input password里显示个把汉字,还真是不容易,总不能让我加个absolute的label吧。于是乎又想起了之前的placeholder,在手机端的页面,还是蛮支持的,拿来用用,也好。。。解决问题:input的占位符,不必再自己写提示文字以及focus blur的判定语句效果:代码: //检测是否支持place-holder function placeHolderSupport(){ ...
阅读全文
摘要:前端测试一直是困扰大家的一个难题,本文参考了能找到的一些牛博,罗列了几种常见的javascript单元测试框架: QUnit, Jasmine, JsTestDriver, Fireunit。
QUnit框架简单方便,测试界面直观详细
Jasmine功能强大,风格也简单明了,符合前端开发者的编程习惯,推荐
JsTestDriver可以和QUnit等框架结合,可以同时测多个浏览器。但安装复杂,只能在控制台显示,不友好,不够清晰
FireUnit小巧灵活,加上Firebug的人气应该很受欢迎
如果需要进行自动化测试, 多了解一下Jasmine和JsTestDriver,本文未深入。
罗列为主,尽量把API讲明白,没有深入的评析,欢迎批评指导。
阅读全文
摘要:/** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") =
阅读全文
浙公网安备 33010602011771号