1.遍历文件-node
1 // 递归遍历目录下的文件 2 function readDirSync (path) { 3 var pa = fs.readdirSync(path); 4 pa.forEach(function (ele, index) { 5 var info = fs.statSync(path + '/' + ele); 6 if (info.isDirectory()) { 7 readDirSync(path + '/' + ele); 8 } else { 9 files.push(ele); 10 } 11 }); 12 }
2.自制单选框(基于jq,兼容ie8)
1 /* 2 * 单选框事件 3 * @param currImg 当前选中图片节点 4 * @param flagClass 选中标志样式名 5 * @param checkedImgSrc 选中图片地址 6 * @param uncheckImgSrc 未选中图片地址 7 */ 8 function radioFn (currImg, flagClass, checkedImgSrc, uncheckImgSrc) { 9 // 去除以前选中状态 10 var checkedImg = $('.' + flagClass); 11 if (checkedImg[0]) { 12 checkedImg[0].setAttribute('src',uncheckImgSrc); 13 checkedImg.removeClass(flagClass); 14 } 15 // 添加选中状态 16 currImg[0].setAttribute('src',checkedImgSrc); 17 currImg.addClass(flagClass); 18 }
3.自制多选框(基于jq,兼容ie8)
1 /* 2 * 复选框事件 3 * @param currImg 当前选中图片节点 4 * @param flagClass 选中标志样式名 5 * @param checkedImgSrc 选中图片地址 6 * @param uncheckImgSrc 未选中图片地址 7 */ 8 function checkboxFn (currImg, flagClass, checkedImgSrc, uncheckImgSrc) { 9 if (currImg.hasClass(flagClass)) { 10 // 去除选中样式 11 currImg[0].setAttribute('src', checkedImgSrc); 12 } else { 13 // 添加选中样式 14 currImg[0].setAttribute('src', uncheckImgSrc); 15 } 16 currImg.toggleClass(flagClass); 17 }
4.上拉加载+滑动吸顶
window.onscroll = function () { var scrollH = document.documentElement.scrollHeight; var scrollT = document.documentElement.scrollTop || document.body.scrollTop; // 滚动条的垂直偏移 var screenH = window.screen.height; // 滚动吸顶 if (scrollT > 239) { // 增加吸顶样式 } else if (scrollT < 239 && scrollT > 0) { // 去除吸顶样式 } // 上拉加载 if (scrollH - scrollT - screenH < 150 && _this.requestFlag) { // 上拉加载获取数据行为 } };
5.同一个数组中,对相同的id项进行归类
1 let obj = {}; 2 arr.forEach(item => { 3 if (!obj[item.id]) { 4 obj[item.id] = []; 5 } 6 obj[item.id].push(item); 7 });