js 小功能收藏

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);
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值