1,表格固定表头
// 表格固定表头
function theadFixed(id) {
$(id).scroll(function () {
var scrollTop = this.scrollTop;
$(this).find("thead").attr("style", "transform: translateY(" + scrollTop + "px);")
});
}
2,给某个元素外层加标签
$('#' + id).wrapAll("<div id='" + wrapId + "' class='h-table' style='max-height:" + maxHeight + "px;'></div>");
3,json数组按照某个字段排序
// 按照某个字段排序
function objSort(prop) {
return (obj1, obj2) => {
let val1 = obj1[prop];
let val2 = obj2[prop];
if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
val1 = Number(val1);
val2 = Number(val2);
}
if (val1 < val2) {
return -1;
} else if (val1 > val2) {
return 1;
} else {
return 0;
}
}
}
//使用方法
var newArr = arr.sort(objSort('positionSeqno')); //arr 按照序号排序
4,得到大写字母开头的单词
//得到大写开头的单词
function getUpperCaseFirst(word) {
var uChar = word[0];
if (myIsNaN(uChar)) { //如果是数字,则返回
return word;
} else {
uChar = uChar.toUpperCase();
word = uChar + word.slice(1, word.length);
return word;
}
}
5,从url中获取参数
/**
* 从url中获取参数
* @param {参数名} name
*/
function getUrlParam(name) {
// 取得url中?后面的字符
var query = window.location.search.substring(1);
// 把参数按&拆分成数组
var param_arr = query.split("&");
for (var i = 0; i < param_arr.length; i++) {
var pair = param_arr[i].split("=");
if (pair[0] == name) {
return pair[1];
}
}
return (false);
}
6,两个div的滚动条同时滚动
参考资料:blog-data/元素跟随滚动 at master · accforgit/blog-data · GitHub
// 左右联动滚动
function fellowScroll(id){
var id = id.split('_')[0];
var l = $('#'+id+'_new_div').find('.fixed-table-body');
var left = l[0];
var r = $('#'+id+'_old_div').find('.fixed-table-body');
var right = r[0];
left.addEventListener('scroll',function(){
right.scrollLeft = left.scrollLeft
})
right.addEventListener('scroll',function(){
left.scrollLeft = right.scrollLeft
})
}
7,判断一个值是否是数字
// true:数值型的,false:非数值型
function myIsNaN(value) {
return typeof value === 'number' && !isNaN(value);
}