
1.css溢出显示...
{ overflow:hidden; text-overflow:ellipsis; }
2.table边框合并,显示单线框
table{ border-collapse: collapse; } table tr td,table tr th{ border:1px solid #e2e2e2; }
3.ajax获取后台数据(引入jQuery)
$.ajax({ type: "get", data:{ act:"getcount", ... }, async: false, url: "http://xxx.com/xxx", cache: false, dataType: "jsonp", success: function (result) { alert("获取成功") }, error: function (e) { alert("数据获取错误,请刷新"); } });
4.循环和闭包
前两天有个需求,要依次显示一个tab列表,必然想到循环和定时器,然而事实和结果却不是我想要的,一开始是这样实现的
for(var i=0;i<7;i++){ setTimeout(function(){ $(".aboutUs_lists ul li a:eq("+i+")").animate({"paddingTop":0,"opacity":1},500); },100*(i+1)); }
结果是列表一起出现了,后来各种搜索,各种百度,终于实现想要的效果了
var count = 0; var anonymous = function() { count++; $(".aboutUs_lists ul li a:eq("+(count-1)+")").animate({"paddingTop":0,"opacity":1},500); }; for(var i=0;i<7;i++){ setTimeout(anonymous, 100*(i+1)); }
今天深入研究闭包,发现书中详细解释了这个问题,延迟函数的回调会在循环结束时才执行。一开始的缺陷是我们试图假设循环中的每个迭代在运行时都会给自己“捕获”一个i的副本,但是根据作用域的工作原理,实际情况是尽管循环中的7个函数是在各个迭代中分别定义的,但是他们都被封闭在一个共享的全局作用域中,因此实际上只有一个i。解决这个问题,我们需要更多的闭包作用域,特别是在循环的过程中每个迭代都需要一个闭包作用域。最后代码是这样的
for(var i=0;i<7;i++){ (function(j){ setTimeout(function(){ $(".aboutUs_lists ul li a:eq("+j+")").animate({"paddingTop":0,"opacity":1},500); },100*(j+1)); })(i); }
5.字符串转数值
parseInt()和parseFloat()
单目加法运算符
"1.1" + "1.1" = "1.11.1" (+"1.1") + (+"1.1") = 2.2