wumi_blog
wumi_blog copied to clipboard
都是姿势
记录下
- 用js 获取url参数
function getQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
// window.location.search 方法是截取当前url中“?”后面的字符串
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
- 拼接url
第一个参数用 ? 如
index.html?type=pic
接下来的参数用**&** 如index.html?type=pic&id=1
参数如果含有非英文的字符在页面用到时可能会出现乱码,这时需要用js中的encodeURI(str_arg)
来编码成一堆百分号的形式,获取时就要用decodeURI()
来解码如获取参数后用在handlebars中时
{{参数值}}
此参数值渲染出来就会乱码,就需要获取后用decodeURI()
来解码也可以写个helper块
Handlebars.registerHelper("decodeURI",function(uri,options){
return decodeURI(uri);
});
handlebars中 {{#decodeURI 参数}}{{/decodeURI}}
当然如果传参数用到了 bandlebars 可以换成
Handlebars.registerHelper("encodeURI",function(uri,options){
//好像浏览器会帮你解一次码 这里一般都会编两次码
return encodeURI(encodeURI(uri));
});
handlebars中 {{#encodeURI 参数}}{{/encodeURI}}
- cookie 相关
var getCookie = function(cookie_name)
{
var allcookies = document.cookie;
var cookie_pos = allcookies.indexOf(cookie_name); //索引的长度
// 如果找到了索引,就代表cookie存在,
// 反之,就说明不存在。
if (cookie_pos != -1)
{
// 把cookie_pos放在值的开始,只要给值加1即可。
cookie_pos += cookie_name.length + 1; //这里容易出问题,所以请大家参考的时候自己好好研究一下
var cookie_end = allcookies.indexOf(";", cookie_pos);
if (cookie_end == -1)
{
cookie_end = allcookies.length;
}
var value = unescape(allcookies.substring(cookie_pos, cookie_end)); //这里就可以得到你想要的cookie的值了。。。
}
return value;
}
exports.cookie = getCookie;
...
-
绑定回车
这个其实我早知道的就是手贱一记
document.onkeydown=function(event){
var e = event || window.event || arguments.callee.caller.arguments[0];
if(e && e.keyCode==13){ // enter 键
//somefn();
}
};
此外 今天用video.js时碰到个小问题 页面渲染出来视频一直在左上角,很小,感觉分明就是 videojs没运行, 构建环境是fis3,所以检查了是否
require('video.js')
发现也引用了 标签上也加video-js
类名了,但感觉就是没运行,还报video.js.map404(没用到.map文件其实不用管这个),后来也将video放在最后加载也不行,后来感觉可能是由于bandlebars渲染的问题,最后将requier填在了bandlebars编译的后面,最后才正常运行.
- ajax 提交
$.ajax({
//发送类型
type: 'GET',
//是否缓存
cache: true,
//提交地址 +接口+ ?参数名=参数值 &参数名=参数值
url: (HOST + '/anginfo/getRegion?' + API),
//提交数据
data:'&user.prefer_contact='+type+'&user.feedback_info='+c_reason,
//数据类型
dataType: 'json'
//成功
}).done((Data) => {
console.log(Data);
console.log('ok');
});
//失败
}).fail(() => {
console.log('error');
});
-
待看
父元素jq slideUp,子元素具有css3 transition属性 chrome下有问题
获取图片真实大小
var img = $("img")[0]; // Get my img elem
var pic_real_width, pic_real_height;
$("<img/>") // Make in memory copy of image to avoid css issues
.attr("src", $(img).attr("src"))
.load(function() {
pic_real_width = this.width; // Note: $(this).width() will not
pic_real_height = this.height; // work for in memory images.
//在这里获取
console.log(pic_real_width)
console.log(pic_real_height)
});
//这里.load()方法异步 可能没跑完 导致结果undefined
console.log(img.naturalHeight)
排第二的答案也很酷
var h = document.querySelector('img').naturalHeight;
Works in IE9+, Chrome, Firefox, Safari and Opera.
表格相关
- 固定表头
正抓紧搞vue koa的紧要关头给我调出去搞什么破690,搞vue koa vuex xtempalte啥的都没时间了,但还是有收获的尤其针对表格展示的方面.贴几个这次用到的js 1.锁定表格头和列
/*
*实现原理:
*创建多个div,div之间通过css实现层叠,每个div放置当前表格的克隆。例如:需要行冻结时,创建存放冻结行表格的div,通过设置z-index属性和position属性,让冻结行表格在数据表格的上层。同理,需要列冻结时,创建存放冻结列表格的div,并放置在数据表格的上层。如果需要行列都冻结时,则除了创建冻结行、冻结列表格的div,还需要创建左上角的固定行列表格的div,并放置在所有div的最上层。
*处理表格的滚动事件,在表格横向或者纵向滚动时,同时让相应的冻结行和冻结列也同步滚动。
*处理html的resize事件,同步修改表格的滚动区域宽度和高度(自己手动处理)
*/
/*
* 锁定表头和列
* 参数定义
* table - 要锁定的表格元素或者表格ID
* freezeRowNum - 要锁定的前几行行数,如果行不锁定,则设置为0
* freezeColumnNum - 要锁定的前几列列数,如果列不锁定,则设置为0
* width - 表格的滚动区域宽度
* height - 表格的滚动区域高度 (可绑定窗口resize后重新赋值)
*/
function freezeTable(table, freezeRowNum, freezeColumnNum, width, height) {
//如果是字符串,转换为int类型
if (typeof(freezeRowNum) == 'string'){
freezeRowNum = parseInt(freezeRowNum);
}
if (typeof(freezeColumnNum) == 'string'){
freezeColumnNum = parseInt(freezeColumnNum);
}
var tableId;
if (typeof(table) == 'string') {
tableId = table;
table = $('#' + tableId);
} else{
tableId = table.attr('id');
}
var divTableLayout = $("#" + tableId + "_tableLayout");
//
if (divTableLayout.length != 0) {
divTableLayout.before(table);
divTableLayout.empty();
} else {
table.after("<div id='" + tableId + "_tableLayout' style='overflow:hidden;height:" + height + "px; width:" + width + "px;'></div>");
divTableLayout = $("#" + tableId + "_tableLayout");
}
//判断是否冻结行列,生成div层
var html = '';
if (freezeRowNum > 0 && freezeColumnNum > 0){
html += '<div id="' + tableId + '_tableFix" style="padding: 0px;"></div>';
}
if (freezeRowNum > 0){
html += '<div id="' + tableId + '_tableHead" style="padding: 0px;"></div>';
}
if (freezeColumnNum > 0){
html += '<div id="' + tableId + '_tableColumn" style="padding: 0px;"></div>';
}
html += '<div id="' + tableId + '_tableData" style="padding: 0px;"></div>';
$(html).appendTo("#" + tableId + "_tableLayout");
//获取div层对象
var divTableFix = freezeRowNum > 0 && freezeColumnNum > 0 ? $("#" + tableId + "_tableFix") : null;
var divTableHead = freezeRowNum > 0 ? $("#" + tableId + "_tableHead") : null;
var divTableColumn = freezeColumnNum > 0 ? $("#" + tableId + "_tableColumn") : null;
var divTableData = $("#" + tableId + "_tableData");
divTableData.append(table);
//冻结了行和列,克隆表格
if (divTableFix != null) {
var tableFixClone = table.clone(true);
tableFixClone.attr("id", tableId + "_tableFixClone");
divTableFix.append(tableFixClone);
}
//冻结了行,克隆表格
if (divTableHead != null) {
var tableHeadClone = table.clone(true);
tableHeadClone.attr("id", tableId + "_tableHeadClone");
divTableHead.append(tableHeadClone);
}
//冻结了列,克隆表格
if (divTableColumn != null) {
var tableColumnClone = table.clone(true);
tableColumnClone.attr("id", tableId + "_tableColumnClone");
divTableColumn.append(tableColumnClone);
}
$("#" + tableId + "_tableLayout table").css("margin", "0");
if (freezeRowNum > 0) {
var HeadHeight = 0;
var ignoreRowNum = 0;
$("#" + tableId + "_tableHead tr:lt(" + freezeRowNum + ")").each(function () {
if (ignoreRowNum > 0){
ignoreRowNum--;
}else {
var td = $(this).find('td:first, th:first');
HeadHeight += td.outerHeight(true);
ignoreRowNum = td.attr('rowSpan');
if (typeof(ignoreRowNum) == 'undefined'){
ignoreRowNum = 0;
}else{
ignoreRowNum = parseInt(ignoreRowNum) - 1;
}
}
});
HeadHeight += 2;
divTableHead.css("height", HeadHeight);
divTableFix != null && divTableFix.css("height", HeadHeight);
}
if (freezeColumnNum > 0) {
var ColumnsWidth = 0;
var ColumnsNumber = 0;
$("#" + tableId + "_tableColumn tr:eq(" + freezeRowNum + ")").find("td:lt(" + freezeColumnNum + "), th:lt(" + freezeColumnNum + ")").each(function () {
if (ColumnsNumber >= freezeColumnNum){
return;
}
ColumnsWidth += $(this).outerWidth(true);
ColumnsNumber += $(this).attr('colSpan') ? parseInt($(this).attr('colSpan')) : 1;
});
ColumnsWidth += 2;
divTableColumn.css("width", ColumnsWidth);
divTableFix != null && divTableFix.css("width", ColumnsWidth);
}
divTableData.scroll(function () {
divTableHead != null && divTableHead.scrollLeft(divTableData.scrollLeft());
divTableColumn != null && divTableColumn.scrollTop(divTableData.scrollTop());
});
divTableFix != null && divTableFix.css({ "overflow": "hidden", "position": "absolute", "z-index": "50","background-color": "#EEEEEE"});
divTableHead != null && divTableHead.css({ "overflow": "hidden", "width": width - 17, "position": "absolute", "z-index": "45","background-color": "#EEEEEE"});
divTableColumn != null && divTableColumn.css({ "overflow": "hidden", "height": height - 17, "position": "absolute", "z-index": "40","background-color":"#EEEEEE"});
divTableData.css({ "overflow": "scroll", "width": width, "height": height, "position": "absolute","background-color":"#EEEEEE"});
divTableFix != null && divTableFix.offset(divTableLayout.offset());
divTableHead != null && divTableHead.offset(divTableLayout.offset());
divTableColumn != null && divTableColumn.offset(divTableLayout.offset());
divTableData.offset(divTableLayout.offset());
}
- 同上 只不过对于行来讲只默认固定表头
//表格冻结行、列
function FixTable(TableID, FixColumnNumber, width, height) {
if ($("#" + TableID + "_tableLayout").length != 0) {
$("#" + TableID + "_tableLayout").before($("#" + TableID));
$("#" + TableID + "_tableLayout").empty();
} else {
$("#" + TableID).after("<div id='" + TableID + "_tableLayout' style='overflow:hidden; height:" + height + "px; width:" + width + "px;'></div>");
}
$('<div id="' + TableID + '_tableFix"></div>'
+ '<div id="' + TableID + '_tableHead"></div>'
+ '<div id="' + TableID + '_tableColumn"></div>'
+ '<div id="' + TableID + '_tableData"></div>').appendTo("#" + TableID + "_tableLayout");
var oldtable = $("#" + TableID);
var tableFixClone = oldtable.clone(true);
tableFixClone.attr("id", TableID + "_tableFixClone");
$("#" + TableID + "_tableFix").append(tableFixClone);
var tableHeadClone = oldtable.clone(true);
tableHeadClone.attr("id", TableID + "_tableHeadClone");
$("#" + TableID + "_tableHead").append(tableHeadClone);
var tableColumnClone = oldtable.clone(true);
tableColumnClone.attr("id", TableID + "_tableColumnClone");
$("#" + TableID + "_tableColumn").append(tableColumnClone);
$("#" + TableID + "_tableData").append(oldtable);
$("#" + TableID + "_tableLayout table").each(function () {
$(this).css("margin", "0");
});
var HeadHeight = $("#" + TableID + "_tableHead thead").height();
//HeadHeight += 2;
$("#" + TableID + "_tableHead").css("height", HeadHeight);
$("#" + TableID + "_tableFix").css("height", HeadHeight);
var ColumnsWidth = 0;
var ColumnsNumber = 0;
$("#" + TableID + "_tableColumn tr td:lt(" + FixColumnNumber + ")").each(function () {
ColumnsWidth += $(this).outerWidth(true);
ColumnsNumber++;
});
ColumnsWidth += 2;
// if ($.browser.msie) {
// switch ($.browser.version) {
// case "7.0":
// if (ColumnsNumber >= 3) ColumnsWidth--;
// break;
// case "8.0":
// if (ColumnsNumber >= 2) ColumnsWidth--;
// break;
// }
// }
ColumnsWidth -= 1;
$("#" + TableID + "_tableColumn").css("width", ColumnsWidth);
$("#" + TableID + "_tableFix").css("width", ColumnsWidth);
$("#" + TableID + "_tableData").scroll(function () {
$("#" + TableID + "_tableHead").scrollLeft($("#" + TableID + "_tableData").scrollLeft());
$("#" + TableID + "_tableColumn").scrollTop($("#" + TableID + "_tableData").scrollTop());
});
$("#" + TableID + "_tableFix").css({ "overflow": "hidden", "position": "relative", "z-index": "50", "background-color": "#EEEEEE" });
$("#" + TableID + "_tableHead").css({ "overflow": "hidden", "width": width - 17, "position": "relative", "z-index": "45", "background-color": "#EEEEEE" });
if (width - 17 < $("#" + TableID + "_tableData table").width()) {
$("#" + TableID + "_tableColumn").css({ "overflow": "hidden", "height": height - 17, "position": "relative", "z-index": "40", "background-color": "transparent" });
if ($("#page_nation_div")) {
$("#page_nation_div").css("width", width + "px" );
}
$(".tableTitleH1 .tt").css("width", width - 16 + "px" );
} else {
$("#" + TableID + "_tableColumn").css({ "overflow": "hidden", "height": height, "position": "relative", "z-index": "40", "background-color": "transparent" });
if ($("#page_nation_div")) {
$("#page_nation_div").css("width", $("#" + TableID + "_tableData table").width() + 17 + "px" );
}
$(".tableTitleH1 .tt").css("width", $("#" + TableID + "_tableData table").width() + 1 + "px" );
}
//设置奇偶数行颜色
$("#" + TableID + "_tableColumn table tbody tr:even").css({ "background-color": "#FFFFFF" });
$("#" + TableID + "_tableColumn table tbody tr:odd").css({ "background-color": "#F0F0F0" });
$("#" + TableID + "_tableData").css({ "overflow": "auto","overflow-y": "scroll", "width": width, "height": height, "position": "relative", "z-index": "35" });
if ($("#" + TableID + "_tableHead").width() > $("#" + TableID + "_tableFix table").width()) {
$("#" + TableID + "_tableHead").css("width", $("#" + TableID + "_tableFix table").width());
$("#" + TableID + "_tableData").css("width", $("#" + TableID + "_tableFix table").width() + 17);
}
if ($("#" + TableID + "_tableColumn").height() > $("#" + TableID + "_tableColumn table").height()) {
$("#" + TableID + "_tableColumn").css("height", $("#" + TableID + "_tableColumn table").height());
$("#" + TableID + "_tableData").css("height", $("#" + TableID + "_tableColumn table").height() + 17);
}
if (width - 17 >= $("#" + TableID + "_tableData table").width() && height >= $("#" + TableID + "_tableColumn table").height() ) {
$("#" + TableID + "_tableLayout").css("height", $("#" + TableID + "_tableColumn table").height());
}
$("#" + TableID + "_tableFix").offset($("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableHead").offset($("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableColumn").offset($("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableData").offset($("#" + TableID + "_tableLayout").offset());
//设置奇偶数行颜色
$("#" + TableID + " > tbody tr:even").css("background-color", "#FFFFFF");
$("#" + TableID + " > tbody tr:odd").css("background-color", "#F0F0F0");
}
2.简单合并表格行 与 列
//将后台查出来的有些重复的数据,塞入表格后合并成复杂表格状态
//合并行
//函数说明:合并指定表格(表格id为tableId)指定列(列数为tableColnum)的相同文本的相邻单元格;
//参数说明:tableId 为需要进行合并单元格的表格的id。
//参数说明:tableColnum 为需要合并单元格的所在列。为数字,从最左边第一列为1开始算起。
function tableRowSpan(tableId,tableColnum){
tableFirstTd = "";
tableCurrentTd = "";
tableSpanNum = 0;
tableObj = $("#" + tableId + " tr td:nth-child(" + tableColnum + ")");
tableObj.each(function(i){
if(i==0){
tableFirstTd = $(this);
tableSpanNum = 1;
}else{
tableCurrentTd = $(this);
if(tableFirstTd.text()==tableCurrentTd.text()){
tableSpanNum++;
tableCurrentTd.hide();
tableFirstTd.attr("rowSpan",tableSpanNum);
}else{
tableFirstTd = $(this);
tableSpanNum = 1;
}
}
});
}
//合并列
//函数说明:合并指定表格(表格id为tableId)指定行(行数为tableRowNum)的相同文本的相邻单元格;
//参数说明:tableId 为需要进行合并单元格的表格id。
//参数说明:tableRowNum 为需要合并单元格的所在行。其参数形式请参考jQuery中nth-child的参数。
// 如果为数字,则从最左边第一行为1开始算起。
// "even" 表示偶数行、"odd" 表示奇数行、"3n+1" 表示的行数为1、4、7、10.......
//参数说明:tableMaxColnum 为指定行中单元格对应的最大列数,列数大于这个数值的单元格将不进行比较合并。
// 此参数可以为空,为空则指定行的所有单元格要进行比较合并。
function tableColspan(tableId,tableRowNum,tableMaxColnum){
if(tableMaxColnum == void 0){
tableMaxColnum=0;
}
tableFirstTd = "";
tableCurrentTd = "";
tableSpanNum = 0;
$("#" + tableId + " tr:nth-child(" + tableRowNum + ")").each(function(i){
tableObj = $(this).children();
tableObj.each(function(i){
if(i==0){
tableFirstTd = $(this);
tableSpanNum = 1;
}else if((tableMaxColnum > 0) && (i > tableMaxColnum)){
return "";
}else{
tableCurrentTd = $(this);
if(tableFirstTd.text() == tableCurrentTd.text()){
tableSpanNum++;
tableCurrentTd.hide();
tableFirstTd.attr("colSpan",tableSpanNum);
}else{
tableFirstTd = $(this);
tableSpanNum = 1;
}
}
});
});
}
3.自己写了个简单固定表头的
//需要样式配合
/*层级结构 表头固定
* tablewarpper (relative)
* fixedhead (absulote)
* scrollwarpper (absulote 0 0 0 0 overflow-y:scroll)
* scrolltable (table height)
*/
function fixtabel(obj){
var tablewarpper = $('.tablewarpper');
var sctable = $(obj);
//sctable.find('tbody').width(tablewarpper.width());
var thead = sctable.find('thead');
var fixthead = thead.clone();
//宽度赋值
thead.find('tr th').each(function(index){
fixthead.find('tr th').eq(index).width($(this).outerWidth(true)-1);
})
var fixtabel =$("<table class='fixthead' style='position:absolute;top:0;display: block;'></table>");
fixtabel.append(fixthead);
tablewarpper.append(fixtabel);
}
- 搞这个破玩儿意儿各种改,自己重新改出来一个 (优先使用)
function FixTable(TableID, FixColumnNumber, width, height) {
if ($("#" + TableID + "_tableLayout").length != 0) {
$("#" + TableID + "_tableLayout").before($("#" + TableID));
$("#" + TableID + "_tableLayout").empty();
} else {
$("#" + TableID).after("<div id='" + TableID + "_tableLayout' style='overflow:hidden; height:" + height + "px; width:" + width + "px;'></div>");
}
//滚动条宽度
function getScrollbarWidth() {
var oP = document.createElement('p'),
styles = {
width: '100px',
height: '100px'
}, i, clientWidth1, clientWidth2, scrollbarWidth;
for (i in styles) oP.style[i] = styles[i];
document.body.appendChild(oP);
clientWidth1 = oP.clientWidth;
oP.style.overflowY = 'scroll';
clientWidth2 = oP.clientWidth;
scrollbarWidth = clientWidth1 - clientWidth2;
oP.remove();
return scrollbarWidth;
}
var scrollbarWidth = getScrollbarWidth();
$('<div id="' + TableID + '_tableFix"></div>'
+ '<div id="' + TableID + '_tableHead"></div>'
+ '<div id="' + TableID + '_tableColumn"></div>'
+ '<div id="' + TableID + '_tableData"></div>').appendTo("#" + TableID + "_tableLayout");
var oldtable = $("#" + TableID);
//表格充满可视区域
oldtable.css({'minWidth':width-scrollbarWidth,'minHeight':height-scrollbarWidth});
var tableFixClone = oldtable.clone(true);
tableFixClone.attr("id", TableID + "_tableFixClone");
$("#" + TableID + "_tableFix").append(tableFixClone);
var tableHeadClone = oldtable.clone(true);
tableHeadClone.attr("id", TableID + "_tableHeadClone");
$("#" + TableID + "_tableHead").append(tableHeadClone);
var tableColumnClone = oldtable.clone(true);
tableColumnClone.attr("id", TableID + "_tableColumnClone");
$("#" + TableID + "_tableColumn").append(tableColumnClone);
$("#" + TableID + "_tableData").append(oldtable);
$("#" + TableID + "_tableLayout table").each(function () {
$(this).css("margin", "0");
});
var HeadHeight = $("#" + TableID + "_tableHead thead").outerHeight();
//
HeadHeight += 2;
$("#" + TableID + "_tableHead").css("height", HeadHeight);
$("#" + TableID + "_tableFix").css("height", HeadHeight);
console.log($("#" + TableID + "_tableHead").height(),HeadHeight,1);
//$("#" + TableID + "_tableFix").outerHeight($("#" + TableID + "_tableHead thead").outerHeight())
var ColumnsWidth = 0;
var ColumnsNumber = 0;
$("#" + TableID + "_tableColumn tr td:lt(" + FixColumnNumber + ")").each(function () {
ColumnsWidth += $(this).outerWidth(true);
ColumnsNumber++;
});
//ColumnsWidth += 2;
// if ($.browser.msie) {
// switch ($.browser.version) {
// case "7.0":
// if (ColumnsNumber >= 3) ColumnsWidth--;
// break;
// case "8.0":
// if (ColumnsNumber >= 2) ColumnsWidth--;
// break;
// }
// }
ColumnsWidth += 1;
$("#" + TableID + "_tableColumn").css("width", ColumnsWidth);
$("#" + TableID + "_tableFix").css("width", ColumnsWidth);
$("#" + TableID + "_tableData").scroll(function () {
$("#" + TableID + "_tableHead").scrollLeft($("#" + TableID + "_tableData").scrollLeft());
$("#" + TableID + "_tableColumn").scrollTop($("#" + TableID + "_tableData").scrollTop());
});
$("#" + TableID + "_tableFix").css({ "overflow": "hidden", "position": "relative", "z-index": "50", "background-color": "#EEEEEE" });
//有无垂直滚动条
if(($("#" + TableID + "_tableData table").height() - height ) > 0){
//减去水平滚动条高度
$("#" + TableID + "_tableHead").css({ "overflow": "hidden", "width": width - scrollbarWidth, "position": "relative", "z-index": "40", "background-color": "transparent" });
}else{
$("#" + TableID + "_tableHead").css({ "overflow": "hidden", "width": width, "position": "relative", "z-index": "40", "background-color": "transparent" });
}
//$("#" + TableID + "_tableHead").css({ "overflow": "hidden", "width": width - 17, "position": "relative", "z-index": "45", "background-color": "#EEEEEE" });
//有无水平滚动条
if(($("#" + TableID + "_tableData table").width() - width ) > 0){
//减去水平滚动条高度
$("#" + TableID + "_tableColumn").css({ "overflow": "hidden", "height": height - scrollbarWidth, "position": "relative", "z-index": "40", "background-color": "transparent" });
}else{
$("#" + TableID + "_tableColumn").css({ "overflow": "hidden", "height": height, "position": "relative", "z-index": "40", "background-color": "transparent" });
}
$("#" + TableID + "_tableData").css({ "overflow": "auto","overflow-y": "scroll", "width": width, "height": height, "position": "relative", "z-index": "35" });
$("#" + TableID + "_tableFix").offset($("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableHead").offset($("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableColumn").offset($("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableData").offset($("#" + TableID + "_tableLayout").offset());
//设置奇偶数行颜色
$("#" + TableID + " > tbody tr:even").css("background-color", "#FFFFFF");
$("#" + TableID + " > tbody tr:odd").css("background-color", "#F0F0F0");
}