记录日常点点滴滴,欢迎来到我的小站。

0%

  1. 按照数值大小进行排序

    1
    2
    3
    4
    5
    6
    var a=[33,4,1111,222]
    a.sort() //字母顺序:1111, 222,33,4
    a.sort(function(a,b){
    return a-b;
    }) //4,33,222,1111
    a.sort(function(a,b){return b-a}); //逆反
  2. 不区分大小写的字母排序

    1
    2
    3
    4
    5
    6
    7
    8
    9
    a=['ant', 'Bug', 'cat', 'Dog'];
    a.sort() //区分大小写的排序 Bug, Dog, ant, cat
    a.sort(function(s,t){
    var a = s.toLowerCase();
    var b = t.toLowerCase();
    if(a<b) return -1;
    if(a>b) return 1;
    return 0;
    }); // ant Bug cat Dog

求数组的和

1
2
var a[1,2,3,4,5];
var sum = a.reduce(function(x,y){return x+y}, 0);

求数组的积

1
2
var a[1,2,3,4,5];
var product = a.reduce(function(x,y){return x*y}, 1);

求数组中最大值

1
2
var a[1,2,3,4,5];
var max = a.reduce(function(x,y){return (x>y)?x:y});

方法非常简单。 在需要绑定的元素上添加

1
cursor:pointer

即可

1
.pro_compare .pro_check{float:right; background:url(images/pro_check.png) no-repeat 0 -24px; width:24px; height:24px; [cursor:pointer;}

浏览器的scroll()和resize()方法都是实时处理的,比如浏览器拉动浏览器的过程中一直在触发scroll(),浏览器的在改变大小尺寸的时候一直在触发resize(),如果在这两个方法里加上函数之后,会一直不间断的去处理,很可能造成浏览器负荷。

解决的方法就是延时,当然还有其他方法。比如,原先的处理方法是:

1
2
3
4
$(window).scroll(function()
{
alert();
});
阅读全文 »

HTML

我们的页面上有一个歌曲列表,列出多行歌曲名称,并匹配复选框供用户选择,并且在列表下方有一排操作按钮。

1
2
3
4
5
6
7
8
9
10
11
12
13
<ul id="list">  
<li><label><input type="checkbox" value="1"> 1.时间都去哪儿了</label></li>
<li><label><input type="checkbox" value="2"> 2.海阔天空</label></li>
<li><label><input type="checkbox" value="3"> 3.真的爱你</label></li>
<li><label><input type="checkbox" value="4"> 4.不再犹豫</label></li>
<li><label><input type="checkbox" value="5"> 5.光辉岁月</label></li>
<li><label><input type="checkbox" value="6"> 6.喜欢妳</label></li>
</ul>
<input type="checkbox" id="all">
<input type="button" value="全选" class="btn" id="selectAll">
<input type="button" value="全不选" class="btn" id="unSelect">
<input type="button" value="反选" class="btn" id="reverse">
<input type="button" value="获得选中的所有值" class="btn" id="getValue">
阅读全文 »

1
<script>window.location.hash='#huifutiezi'</script>

location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用location.href=url就可以直接将页面重定向url。而location.hash则可以用来获取或设置页面的标签值,也就是锚链接的值。比如http://domain/#admin的location.hash="#admin"。

this.hash:获取当前链接的标签值:
如:

1
2
3
4
5
6
7
8
<a class="shortcut" href="#booking">约时间</a>
<script>
$(document).ready(function(){
$("a.shortcut").click(function(){
alert(this.hash); //输出#booking
});
});
</script>

兼容ie10和ie11的版本判断

1
2
3
function isIe(){
return ("ActiveXObject" in window);
}

判断IE兼容到IE9

今天一个项目中需要判断IE版本号,又因为 jQuery 2.0 去除了对浏览器版本号的判断(它推荐特性检测),于是就看到一老外写的一段

1
2
3
4
5
6
7
8
var _IE = (function(){
var v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i');
while (
div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
all[0]
);
return v > 4 ? v : false ;
}());
阅读全文 »

方法一

重复触发就是防止用户重复点击提交数据了,我们一般都是点击之后没反应会再次点击了,这个不但要从用户体验上来做好,还在要js或php程序脚本上做好,让用户知道点击是己提交服务器正在处理,下面我就整理从脚本上来处理此重复触发的问题。

重复触发就是防止用户重复点击提交数据了,我们一般都是点击之后没反应会再次点击了,这个不但要从用户体验上来做好,还在要js或php程序脚本上做好,让用户知道点击是己提交服务器正在处理,下面我就整理从脚本上来处理此重复触发的问题。

1
2
3
4
5
6
7
8
9
10
11
12
var _timer = {};
function delay_till_last(id, fn, wait) {
if (_timer[id]) {
window.clearTimeout(_timer[id]);
delete _timer[id];
}

return _timer[id] = window.setTimeout(function() {
fn();
delete _timer[id];
}, wait);
}
阅读全文 »

问题:

Navcat导入Discuz数据库的时候,提示2006 - MySQL server has gone away 错误导致大部分数据无法导入到数据库中。
2006错误

原因:

sql语句过长,超过mysql通信缓存区最大长度。

办法:

  1. 编辑 MySQL 安装目录下的 my.ini,在最后添加或修改以下内容:

    1
    max_allowed_packet=16M
  2. 重启 MySQL 服务