js实用代码段(持续更新)
2024-10-16 13:14:35
1.得到一个数,在一个有序数组中应该排在的位置序号:
function orderInArr(num,arr) {
if(num > arr[0]){
return 1 + arguments.callee(num,arr.slice(1))
}else{
return 0
}
} //用法:
var arr = new Array(99,199,299,399);
alert(orderInArr(100,arr));//弹出的结果为:1;
2.函数去抖debounce的简单实现:
var timer = null;
$(window).on('scroll',function(){
if(timer){
clearTimeout(timer);
timer = null;
}
timer = setTimeout(function(){
console.log('滑动结束')
},100)
});
//该方法适用于scroll,mousemove,touchmove,resize等连续触发的事件;只触发事件完成后的一次;
3.函数节流throttle的简单实现:
var throttle = function(delay, action){
var last = 0;
return function(){
var curr = +new Date() //将日期格式变为时间戳
if (curr - last > delay){
action.apply(this)
last = curr
}
}
}
var hehe = throttle(400,function(){ //函数闭包
console.log(123)
});
$(window).on('scroll',hehe)
//该方法同样适用于scroll,mousemove,touchmove,resize等连续触发的事件;与debounce不同的是,该方法会不断触发,只是规定了事件触发的时间间隔;
//参考:http://www.cnblogs.com/fsjohnhuang/p/4147810.html
最新文章
- Webview和Html
- 关于StringBuffer和StringBuilder
- git 的使用
- Device Tree(三):代码分析【转】
- C#中的 正则表达式
- [转] ArcEngine 产生专题图
- [C++]Infinite House of Pancakes——Google Code Jam 2015 Qualification Round
- R实践 第二篇:创建数据集
- 解决:安装oracle客户端,提示“oracle11g所选的主目录位于基目录外”
- FontAwesome 图标字体库的使用
- vs2013编译obs源码
- P124黎曼可积性刻画 的两个备注
- Tomcat集成Memcached Session Manager方案
- IIS 错误:由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- 标准库random
- ibatis的缓存机制
- Quartz.net 起步
- 带你走进php大马的结构模块编写之路
- bug、兼容性、适配问题
- double 和 im2double 的区别