Namespace.register("U.MD.O.E.TL"); /*excel 的 工具栏功能*/ U.MD.O.E.setStyle = false; U.MD.O.E.clearStyle = false; /* 为选中单元格添加样式 *attr 格式:{样式名:样式值} * cellArr 单元格数组 可选可不选 * req 如果存在 则不发送send请求 */ U.MD.O.E.TL.setStyle = function (attr, cellArr, req) { var _attr = attr, //需添加的样式名和值,以json形式 _sname, //添加的样式名字 _scontent, //添加样式的内容 _eiditorBox = $("#U_MD_O_E_editorBox")[0], //获取对象并命名 _cellCheckd = cellArr || $(".U_MD_O_E_cellCheckd"), //获取对象并命名 _dataArr = [], //添加空的数组 _firstAttr = ""; //添加空的变量 for (var key in _attr) { _sname = key; //键名 _scontent = _attr[key]; //键值 } for (var i = 0; i < _cellCheckd.length; i++) { //处理字体的循环 _cellCheckd[i].setAttribute("name", "seted"); //给指定的元素添加属性 if (_cellCheckd[i].style.fontWeight == "" && _sname == "fontWeight") { //判断字体是否加粗 _eiditorBox.style[_sname] = _scontent; _cellCheckd[i].style[_sname] = _eiditorBox.style[_sname]; //设置属性字体加粗 } else if (_cellCheckd[i].style.fontStyle == "" && _sname == "fontStyle") {//判断字体是否斜体 _eiditorBox.style[_sname] = _scontent; _cellCheckd[i].style[_sname] = _eiditorBox.style[_sname]; //设置属性字体斜体 } else if (_cellCheckd[i].style.textDecoration == "" && _sname == "textDecoration") {//判断字体是否下划线 _eiditorBox.style[_sname] = _scontent; _cellCheckd[i].style[_sname] = _eiditorBox.style[_sname]; //设置属性字体下划线 } else if (_cellCheckd[i].style.textDecoration == "underline" && _sname == "textDecoration" && _scontent == "line-through") {//删除线 _eiditorBox.style[_sname] = _scontent; _cellCheckd[i].style[_sname] = _eiditorBox.style[_sname]; } else if (_cellCheckd[i].style.textDecoration == "line-through" && _sname == "textDecoration" && _scontent == "underline") {//删除线切换到下划线 _eiditorBox.style[_sname] = _scontent; _cellCheckd[i].style[_sname] = _eiditorBox.style[_sname]; } else if ((_cellCheckd[i].style.textAlign == "" || _cellCheckd[i].style.textAlign == "left" || _cellCheckd[i].style.textAlign == "center" || _cellCheckd[i].style.textAlign == "right") && _sname == "textAlign") {//内容水平定位 _eiditorBox.style[_sname] = _scontent; _cellCheckd[i].style[_sname] = _eiditorBox.style[_sname]; } else if (_sname == "textAlign" && _cellCheckd[i].style.textAlign == _scontent) {//重复添加同一个水平定位样式时的清除 _eiditorBox.style[_sname] = ""; _cellCheckd[i].style[_sname] = ""; } else if (_sname == "backgroundColor") {//背景色 _cellCheckd[i].style[_sname] = _scontent; } else if (_sname == "color") {//字体色 _cellCheckd[i].style[_sname] = _scontent; } else if (_sname == "fontFamily") {//字体系列 _eiditorBox.style[_sname] = _scontent; _cellCheckd[i].style[_sname] = _eiditorBox.style[_sname]; } else if (_sname == "fontSize") {//字体大小 _eiditorBox.style[_sname] = _scontent; _cellCheckd[i].style[_sname] = _eiditorBox.style[_sname]; } else { //重复选中时的清除 _eiditorBox.style[_sname] = ""; //设置为空清除 _cellCheckd[i].style[_sname] = _eiditorBox.style[_sname]; attr = ""; _scontent = ""; } if (i == 0) { _firstAttr = attr; } var _info = { //设定数组并且赋值 col: _cellCheckd[i].col, row: _cellCheckd[i].row, innerText: _cellCheckd[i].innerText, //为文本的内容 attr: _sname, //属性 value: _scontent }; _dataArr.push(_info); } U.MD.O.E.dataChange(U.MD.O.E.excelInfo("blur", _dataArr), req); //合并时 保存数据 } /* * 清除所有样式 * req 如果存在 则不发送send请求 */ U.MD.O.E.TL.clearStyle = function (cellArr, req) { //传入参数 var _eiditorBox = $("#U_MD_O_E_editorBox")[0], //选择对象命名 _cellCheckd = cellArr || $(".U_MD_O_E_cellCheckd"), //选择对象命名 _dataArr = []; //设置空的数组 for (var i = 0; i < _cellCheckd.length; i++) { //for循环指定对象长度 U.MD.O.E.TL.cellClearStyle(_cellCheckd[i]); var _info = { //设定数组并且赋值 col: _cellCheckd[i].col, //为指定为col 的参数 row: _cellCheckd[i].row, //为指定为row 的参数 innerText: _cellCheckd[i].innerText, //为指定为innerText 的文本内容 clearStyle: true }; _dataArr.push(_info); //调用函数传入数组 } U.MD.O.E.dataChange(U.MD.O.E.excelInfo("blur", _dataArr), req); //合并时 保存数据 _eiditorBox.style.fontWeight = ""; //合并时保存数据重置属性fontWeight _eiditorBox.style.fontStyle = ""; //合并时保存数据重置属性fontStyle _eiditorBox.style.textDecoration = ""; //合并时保存数据重置属性textDecoration _eiditorBox.style.textAlign = ""; //合并时保存数据重置属性textAlign _eiditorBox.style.verticalAlign = ""; //合并时保存数据重置属性verticalAlign _eiditorBox.style.color = ""; //合并时保存数据重置属性color _eiditorBox.style.fontFamily = ""; //合并时保存数据重置属性fontFamily _eiditorBox.style.fontSize = ""; //合并时保存数据重置属性fontSize } /* * 单元格清除所有样式 */ U.MD.O.E.TL.cellClearStyle = function (cell) { cell.style.fontWeight = ""; //清除cell的样式fontWeight cell.style.fontStyle = ""; //清除cell的样式fontStyle cell.style.textDecoration = ""; //清除cell的样式textDecoration cell.style.textAlign = ""; //清除cell的样式textAlign cell.style.verticalAlign = ""; //清除cell的样式verticalAlign cell.endRow ? _cellCheckd[i].style.display = "" : ''; //如果不是合并单元格元素的话 则将display清除 if (cell.children[0]) cell.children[0].style.verticalAlign = ""; cell.style.color = ""; //清除cell的样式color cell.style.backgroundColor = ""; //清除cell的样式backgroundColor cell.style.fontFamily = ""; //清除cell的样式fontFamily cell.style.fontSize = ""; //清除cell的样式fontSize } /* 修改文本垂直定位 *attr 格式:{样式名:样式值} */ U.MD.O.E.TL.setTextStyle = function (attr, cellArr) { var _attr = attr, //需添加的样式名和值,以json形式 _sname, //添加的样式名字 _scontent, //添加样式的内容 _eiditorBox = $("#U_MD_O_E_editorBox")[0], //声明变量 _cellCheckd = cellArr||$(".U_MD_O_E_cellCheckd"),//声明变量 _cellArr = []; //声明数组并为空 for (var key in _attr) { //for循环json数组 _sname = key; //键名 _scontent = _attr[key]; //键值 for (var i = 0; i < _cellCheckd.length; i++) { //for循环遍历 _eiditorBox.style[_sname] = _scontent; _cellCheckd[i].style.display = 'table'; //更改样式 if (_cellCheckd[i].children[0]) //文本子节点 _cellCheckd[i].children[0].style[_sname] = _scontent; _cellArr.push(_cellCheckd[i].id); //调用函数 } } console.log(_cellArr); console.log(attr); } /** * Excel颜色选择器 * @param el 绑定了事件的元素 * @param event 鼠标事件 */ U.MD.O.E.TL.colorPicker = function (el, event) { U.MD.O.E.TL.colorPicker.clickEl = el; /*button*/ /*判断是否创建色板*/ if (!U.MD.O.E.TL.colorPicker.ColorPickerEl) { //判断有没有创建色板 U.MD.O.E.TL.colorPicker.ColorPickerEl = U.MD.UI.ColorPicker(U.MD.O.E.TL.colorPicker.ColorPickerEl, U.MD.O.E.TL.changeColor); /*生成色板*/ document.body.appendChild(U.MD.O.E.TL.colorPicker.ColorPickerEl) /*将色板添加到body里面*/ U.MD.O.E.TL.colorPicker.ColorPickerEl.style.position = 'absolute'; /*将绝对定位赋值给色板*/ U.MD.O.E.TL.colorPicker.ColorPickerEl.style.zIndex = '9999' /*层级为2*/ } if (el.parentNode.className == "BD_BorderPicker") { U.MD.O.E.TL.colorPicker.ColorPickerEl.style.left = el.parentNode.offsetLeft + 'px'; /*定位色板x位置*/ } else { U.MD.O.E.TL.colorPicker.ColorPickerEl.style.left = event.target.getBoundingClientRect().left + 'px'; /*定位色板x位置*/ } U.MD.O.E.TL.colorPicker.ColorPickerEl.style.top = event.target.getBoundingClientRect().top + 30 + (document.documentElement.scrollTop || document.body.scrollTop) + 'px'; /*定位色板y位置*/ U.MD.O.E.TL.colorPicker.ColorPickerEl.style.display = "block"; /*让色板显示出来*/ U.UF.EV.stopBubble(event); //调用停止函数 } U.MD.O.E.TL.colorPicker.clickEl = null; /*点击按钮*/ U.MD.O.E.TL.colorPicker.ColorPickerEl = null; /*当前颜色div*/ /** * 改变两个小块的颜色 * @param r 返回颜色值 */ U.MD.O.E.TL.changeColor = function (r) { var _changeEl = U.MD.O.E.TL.colorPicker.clickEl.querySelector('div[changecolor]'); /*获取自定义属性的元素*/ _changeEl.style.background = r; /*改变小块的颜色*/ console.log(_changeEl); if (_changeEl && _changeEl.getAttribute('changecolor') == 'font') /*判断自定义属性的内容*/ U.MD.O.E.TL.setStyle({ 'color': U.UF.C.getColorByRGB(r) }); /*设置光标选中的样式*/ else if (_changeEl && _changeEl.getAttribute('changecolor') == 'bdcolor') ; else U.MD.O.E.TL.setStyle({ 'backgroundColor': U.UF.C.getColorByRGB(r) }); /*设置光标选中的样式*/ U.MD.O.E.TL.colorPicker.ColorPickerEl.style.display = "none"; /*选择完后隐藏起来*/ } /** * 设置多样式json 的样式 * @param cell 单元格 * @param attr 为{attr:value,attr:value,attr:value}多样式json */ U.MD.O.E.TL.jsonSetStyle = function (cell, attr) { for (var i in attr) { cell.style[i] = attr[i] } } /* *改变单元格边框样式 *el 边框改变的效果 *attr 格式:{样式名:样式值} * cellArr 单元格数组 可选可不选 */ U.MD.O.E.TL.setBorderStyle = function (el, attr, cellArr, req) { $(".BD_BorderPicker")[0].style.display = "none"; //声明对象的元素 var _el = el, //声明变量 _type; if (typeof (_el) == "string") { //判断变量 _type = _el; } else { _type = _el.title; } var _color = U.UF.C.getColorByRGB($("#bdcolor")[0].style.background), //声明对象元素 _attr = attr, //需添加的样式名和值,以json形式 _sname, //添加的样式名字 _scontent, //添加样式的内容 _eiditorBox = $("#U_MD_O_E_editorBox")[0], _cellCheckd = cellArr || $(".U_MD_O_E_cellCheckd"), _cellLeft, //左边框 _cellTop, _cellRight, _cellBottom, _row = $(".U_MD_O_E_row"), _col = $(".U_MD_O_E_column"), _left, //起始x _top, //起始y _right, //结束x _bottom, //结束y _data _dataArr = [];//创建数组为空 console.log(_cellCheckd.length); console.log(_cellCheckd); for (var key in _attr) { _sname = key; //键名 _scontent = _attr[key]; //键值 } if (_type != "无框线" && typeof (_el) == "string") { //判断单元格有无框线 } else if (_type != "无框线") { //判断单元格有无框线 _scontent = _scontent + " " + _color; } for (var i = 0; i < _cellCheckd.length; i++) { //for循环遍历 if (i == 0) { _left = _cellCheckd[i].col; //给予for循环里面的第一个元素赋值 _top = _cellCheckd[i].row; } if (i == _cellCheckd.length - 1) { //给予for循环里面的最后一个元素赋值 _right = _cellCheckd[i].col; _bottom = _cellCheckd[i].row; } } if (_type == "所有边框" || _type == "无框线") {//边框 for (var i = 0; i < _cellCheckd.length; i++) {//for循环遍历 _cellCheckd[i].setAttribute("name", "seted"); //给每一个元素添加属性元素 _cellCheckd[i].style.borderRight = _scontent; //右边框 _cellCheckd[i].style.borderBottom = _scontent; //底部边框 if (_cellCheckd[i].col == 1) { if (_type == "无框线") _cellCheckd[i].style.borderLeft = "none"; //左边框 else _cellCheckd[i].style.borderLeft = _scontent; _data = { //数组赋值 col: _cellCheckd[i].col, //指定对象的col参数 row: _cellCheckd[i].row, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 br: "border-left", //指定元素的br参数 value: _type == "无框线" ? "none" : _scontent, //指定为type内容的value参数 bordertype: _type //指定变量的bordertype参数 }; _dataArr.push(_data); //传入数组调用函数 } else if (_cellCheckd[i].col == _left) { _cellLeft = $("#POS_" + (_cellCheckd[i].col - 1) + "_" + (_cellCheckd[i].row) + "")[0]; _cellLeft.style.borderRight = _scontent; _data = { col: _cellCheckd[i].col - 1, //指定对象的col参数 row: _cellCheckd[i].row, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 br: "border-right", //指定元素的br参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type }; _dataArr.push(_data); //传入数组调用函数 } if (_cellCheckd[i].row == 1) { if (_type == "无框线") //判断有无框线 _cellCheckd[i].style.borderTop = "none"; //添加对象的样式 else _cellCheckd[i].style.borderTop = _scontent; //添加对象的样式 _data = { //声明数组 col: _cellCheckd[i].col, //指定对象的col参数 row: _cellCheckd[i].row, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 bb: "border-top", //指定元素的br参数 value: _type == "无框线" ? "none" : _scontent, //指定为type内容的value参数 bordertype: _type }; _dataArr.push(_data); } else if (_cellCheckd[i].row == _top) { _cellTop = $("#POS_" + (_cellCheckd[i].col) + "_" + (_cellCheckd[i].row - 1) + "")[0]; //声明变量的内容 _cellTop.style.borderBottom = _scontent; //添加样式 _data = { col: _cellCheckd[i].col, //指定对象的col参数 row: _cellCheckd[i].row - 1, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 bb: "border-bottom", //指定元素的br参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); //传入数组调用函数 } _data = { col: _cellCheckd[i].col, //指定对象的col参数 row: _cellCheckd[i].row, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 br: "border-right", //指定元素的br参数 bb: "border-bottom", //指定元素的br参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); //传入数组调用函数 } } else if (_type == "外侧框线") { //判断参数_type是否为外侧框线 for (var i = 0; i < _cellCheckd.length; i++) { //for循环遍历 if (_cellCheckd[i].col == 1) { //变量等于1的时候 _cellCheckd[i].style.borderLeft = _scontent; _data = { //声明数组 col: _cellCheckd[i].col, //指定对象的col参数 row: _cellCheckd[i].row, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 br: "border-left", //指定元素的br参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); //传入数组调用函数 } else if (_cellCheckd[i].col == _left) { _cellLeft = $("#POS_" + (_cellCheckd[i].col - 1) + "_" + (_cellCheckd[i].row) + "")[0]; _cellLeft.style.borderRight = _scontent; _data = { //声明数组 col: _cellCheckd[i].col - 1, //指定对象的col参数 row: _cellCheckd[i].row, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 br: "border-right", //指定元素的br参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); //传入数组调用函数 } if (_cellCheckd[i].row == 1) { _cellCheckd[i].style.borderTop = _scontent; _data = { //声明数组 col: _cellCheckd[i].col, //指定对象的col参数 row: _cellCheckd[i].row, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 bb: "border-top", //指定元素的bb参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); //传入数组调用函数 } else if (_cellCheckd[i].row == _top) { _cellTop = $("#POS_" + (_cellCheckd[i].col) + "_" + (_cellCheckd[i].row - 1) + "")[0]; _cellTop.style.borderBottom = _scontent; _data = { //声明数组 col: _cellCheckd[i].col, //指定对象的col参数 row: _cellCheckd[i].row - 1, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 bb: "border-bottom", //指定元素的bb参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); //传入数组调用函数 } if (_cellCheckd[i].col == _right) { //判断框线的右框线 _cellRight = $("#POS_" + (_cellCheckd[i].col) + "_" + (_cellCheckd[i].row) + "")[0]; _cellRight.style.borderRight = _scontent; //添加变量的样式 _data = { col: _cellRight.col, row: _cellRight.row, innerText: _cellRight.innerText, attr: _sname, br: "border-right", value: _scontent, bordertype: _type }; _dataArr.push(_data); //传入数组调用函数 } if (_cellCheckd[i].row == _bottom) { //判断框线的底部框线 _cellBottom = $("#POS_" + (_cellCheckd[i].col) + "_" + (_cellCheckd[i].row) + "")[0]; _cellBottom.style.borderBottom = _scontent; //添加变量的样式 _data = { col: _cellBottom.col, row: _cellBottom.row, innerText: _cellBottom.innerText, attr: _sname, bb: "border-bottom", value: _scontent, bordertype: _type }; _dataArr.push(_data); //传入数组调用函数 } } } else if (_type == "上框线") { //判断框线为上框线 for (var i = 0; i < _cellCheckd.length; i++) { if (_cellCheckd[i].row == 1) { _cellCheckd[i].style.borderTop = _scontent; _data = { col: _cellCheckd[i].col, //指定对象的col参数 row: _cellCheckd[i].row, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 bb: "border-top", //指定元素的bb参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); } else if (_cellCheckd[i].row == _top) { _cellTop = $("#POS_" + (_cellCheckd[i].col) + "_" + (_cellCheckd[i].row - 1) + "")[0]; _cellTop.style.borderBottom = _scontent; _data = { col: _cellCheckd[i].col, //指定对象的col参数 row: _cellCheckd[i].row - 1, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 bb: "border-bottom", //指定元素的bb参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); } } } else if (_type == "下框线" || _type == "双底框线") { //判断为双底框线 for (var i = 0; i < _cellCheckd.length; i++) { if (_cellCheckd[i].row == _bottom) { _cellBottom = $("#POS_" + (_cellCheckd[i].col) + "_" + (_cellCheckd[i].row) + "")[0]; _cellBottom.style.borderBottom = _scontent; //指定数组的参数 _data = { col: _cellBottom.col, row: _cellBottom.row, innerText: _cellBottom.innerText, attr: _sname, bb: "border-bottom", value: _scontent, bordertype: _type }; _dataArr.push(_data); } } } else if (_type == "左框线") { //判断指定为左框线 for (var i = 0; i < _cellCheckd.length; i++) { if (_cellCheckd[i].col == 1) { _cellCheckd[i].style.borderLeft = _scontent; //添加元素 _data = { col: _cellCheckd[i].col, //指定对象的col参数 row: _cellCheckd[i].row, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 br: "border-left", //指定元素的br参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); } else if (_cellCheckd[i].col == _left) { _cellLeft = $("#POS_" + (_cellCheckd[i].col - 1) + "_" + (_cellCheckd[i].row) + "")[0]; _cellLeft.style.borderRight = _scontent; _data = { col: _cellCheckd[i].col - 1, //指定对象的col参数 row: _cellCheckd[i].row, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 br: "border-right", //指定元素的br参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); } } } else if (_type == "右框线") { //判断为有边框 for (var i = 0; i < _cellCheckd.length; i++) { if (_cellCheckd[i].col == _right) { _cellRight = $("#POS_" + (_cellCheckd[i].col) + "_" + (_cellCheckd[i].row) + "")[0]; _cellRight.style.borderRight = _scontent; //指定数组的参数调用函数 _data = { col: _cellRight.col, row: _cellRight.row, innerText: _cellRight.innerText, attr: _sname, br: "border-right", value: _scontent, bordertype: _type }; _dataArr.push(_data); } } } else if (_type == "上下框线") { //判断为上下框线 for (var i = 0; i < _cellCheckd.length; i++) { if (_cellCheckd[i].row == 1) { _cellCheckd[i].style.borderTop = _scontent; _data = { col: _cellCheckd[i].col, //指定对象的col参数 row: _cellCheckd[i].row, //指定对象的row参数 innerText: _cellCheckd[i].innerText, //指定对象的文本内容 attr: _sname, //属性 bb: "border-top", //指定元素的br参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); } else if (_cellCheckd[i].row == _top) { _cellTop = $("#POS_" + (_cellCheckd[i].col) + "_" + (_cellCheckd[i].row - 1) + "")[0]; _cellTop.style.borderBottom = _scontent; _data = { col: _cellCheckd[i].col, //指定为_type内容的bordertype参数 row: _cellCheckd[i].row - 1, //指定对象的row参数 innerText: _cellCheckd[i].innerText, attr: _sname, //属性 bb: "border-bottom", //指定元素的br参数 value: _scontent, //指定为_scontent内容的value参数 bordertype: _type //指定为_type内容的bordertype参数 }; _dataArr.push(_data); } if (_cellCheckd[i].row == _bottom) { //判断为下边框 _cellBottom = $("#POS_" + (_cellCheckd[i].col) + "_" + (_cellCheckd[i].row) + "")[0]; _cellBottom.style.borderBottom = _scontent; //传入数组赋值,调用函数 _data = { col: _cellBottom.col, row: _cellBottom.row, innerText: _cellBottom.innerText, attr: _sname, bb: "border-bottom", value: _scontent, bordertype: _type }; _dataArr.push(_data); } } } console.log(_dataArr); U.MD.O.E.dataChange(U.MD.O.E.excelInfo("setBorder", _dataArr), req); //合并时 保存数据 U.UF.EV.stopBubble(window.event); } /** * 创建边框选区 * 在U.MD.O.E.initExcel里调用 */ U.MD.O.E.TL.borderPicker = function () { var barelement = $("#bd_Pick")[0]; var div = $$("div", { //创建div赋属性元素的值 datacontent: '', style: { width: "120px", height: "80px", border: "1px solid #CDCDCD", backgroundColor: " #FFF", padding: "10px 10px 10px 5px", position: "absolute", left: $(".U_MD_O_E_Editor_head_features_ul_ibtmore")[0].offsetLeft + "px", display: "none", zIndex: 1 } , "className": "BD_BorderPicker" //赋值属性名 }, barelement); //创建外部div对象 $(barelement).bind('click', function (e) { /*绑定事件*/ U.UF.EV.stopBubble(e); //阻止事件冒泡 }); div.innerHTML = "