按照数值大小进行排序
1
2
3
4
5
6var 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}); //逆反不区分大小写的字母排序
1
2
3
4
5
6
7
8
9a=['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
JavaScript 利用 reduce()函数求数组的和,积, 最大值
求数组的和
1 | var a[1,2,3,4,5]; |
求数组的积
1 | var a[1,2,3,4,5]; |
求数组中最大值
1 | var a[1,2,3,4,5]; |
jQuery $(window).width()获取宽度错误 去除滚动条屏幕宽度
今天遇到个问题,$(window).width() ,获取的宽度少了20-30px
分析:
内容出现滚动条,这个获取宽度的方法没有计算滚动条宽度.
解决:
window.innerWidth 使用原生js的这个方法获取窗口宽度。
IPHONE, IPAD,jQuery live绑定方法失败的解决办法
方法非常简单。 在需要绑定的元素上添加
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;} |
jQuery给scroll()和resize()增加延时处理
浏览器的scroll()和resize()方法都是实时处理的,比如浏览器拉动浏览器的过程中一直在触发scroll(),浏览器的在改变大小尺寸的时候一直在触发resize(),如果在这两个方法里加上函数之后,会一直不间断的去处理,很可能造成浏览器负荷。
解决的方法就是延时,当然还有其他方法。比如,原先的处理方法是:
1 | $(window).scroll(function() |
jQuery实现的全选、反选和不选功能
HTML
我们的页面上有一个歌曲列表,列出多行歌曲名称,并匹配复选框供用户选择,并且在列表下方有一排操作按钮。
1 | <ul id="list"> |
Javascript this.hash 获取或设置标签值
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 | <a class="shortcut" href="#booking">约时间</a> |
JS滚轮事件(mousewheel/DOMMouseScroll)
兼容ie10和ie11的版本判断
1 | function isIe(){ |
判断IE兼容到IE9
今天一个项目中需要判断IE版本号,又因为 jQuery 2.0 去除了对浏览器版本号的判断(它推荐特性检测),于是就看到一老外写的一段
1 | var _IE = (function(){ |
jQuery 防止相同的事件快速重复触发
方法一
重复触发就是防止用户重复点击提交数据了,我们一般都是点击之后没反应会再次点击了,这个不但要从用户体验上来做好,还在要js或php程序脚本上做好,让用户知道点击是己提交服务器正在处理,下面我就整理从脚本上来处理此重复触发的问题。
重复触发就是防止用户重复点击提交数据了,我们一般都是点击之后没反应会再次点击了,这个不但要从用户体验上来做好,还在要js或php程序脚本上做好,让用户知道点击是己提交服务器正在处理,下面我就整理从脚本上来处理此重复触发的问题。
1 | var _timer = {}; |