function initWdDragWidth(offsetheight, topNum) {
linewidth(offsetheight);
}
//初始化拖动线
function linewidth(offsetheight) {
function getAttr(wdDragWidth, name) {
/* 改,增加 {} 后,导致 第一个(min) 拿不到 -- "{min:300,max:1490,right:true}"。Lin
var reg = new RegExp("(^|,)" + name + ":([^,]*)");
*/ var reg = new RegExp("(^{|,)" + name + ":([^,]*)");
var r = wdDragWidth.match(reg);
if(r != null) return unescape(r[2]);
return null;
}
var dw = {};
var wdDragWidthAry = $("[ssDragw]"); // = $("[wdDragWidth]")。Lin
if(wdDragWidthAry.length!=2)return;1
var leftSide=true;//拖动手柄的方向
for(var i = 0; i < wdDragWidthAry.length; i++) {
var wdDragWidth = $(wdDragWidthAry[i]).attr("ssDragw"); // ("wdDragWidth")。Lin
/* 改,side:right 改为 right:true -- 只写 right:true,不写 right:false。Lin
if(wdDragWidth.indexOf("side")>0){
leftSide=("left"==getAttr(wdDragWidth, "side"))?true:false;
}
*/ leftSide = wdDragWidth.indexOf("right") < 0;
if(i==1) {
dw.domB = $(wdDragWidthAry[i]);
}else {
dw.domAWidth = $(wdDragWidthAry[i]).width();
dw.domA = $(wdDragWidthAry[i]);
var max =wdDragWidth.indexOf("max")>-1? getAttr(wdDragWidth, "max").replace("px"):0;
var min =wdDragWidth.indexOf("min")>-1? getAttr(wdDragWidth, "min").replace("px"):0;
dw.maxWidth = parseInt(max);
dw.minWidth = parseInt(min);
}
}
if(dw.domA){
$("#dragIcon").remove();
dw.dragDom=$('
');
//dw.dragDom=$("");
dw.domA.after(dw.dragDom);
$("").css({width:$(window).width(),height:$(window).height()}).appendTo("body");
}
// dw.countWidth = $(dw.domA).width() + $(dw.domB).width();
dw.x = 0; // 鼠标按下时光标的X值
dw.w = 0; // 拖拽前div的宽
$(dw.dragDom)[0].onmousedown = function(ev) {
if(!dw.countWidth){
dw.countWidth = $(dw.domA).width() + $(dw.domB).width();
}
var ev = ev || window.event;
dw.x = ev.clientX; // 获取鼠标按下时光标x的值
dw.w = $(dw.domA).width(); // 拖动前的宽度
$("#dragwidthmask").show();
function dragmoveEnd(){
document.onmousemove = null;
document.onmouseup = null;
$("#dragwidthmask").hide();
}
var mousemoveid=null;
document.onmousemove = function(ev) {
if(mousemoveid){
clearTimeout(mousemoveid)
mousemoveid=null;
}
mousemoveid=setTimeout(dragmoveEnd,3000);
var ev = ev || window.event;
var W = ev.clientX - dw.x + dw.w;
if(W < dw.minWidth) {
W = dw.minWidth;
}else if(W > dw.maxWidth){
W = dw.maxWidth;
}
$(dw.domA).width(W + 'px');
$(dw.domB).width((dw.countWidth - W) + 'px');
}
document.onmouseup = function() {
dragmoveEnd()
}
return false;
}
$(dw.dragDom)[0].ondblclick = function() {
// 如果当前是最小状态,则直接恢复最大宽度
// if($(dw.domA).width() <= dw.minWidth) {
// $(dw.domA).width(dw.maxWidth);
// $(dw.domB).width(dw.countWidth - dw.maxWidth);
// return;
//}
$(dw.domA).width(dw.domAWidth + "px");
$(dw.domB).width((dw.countWidth - dw.domAWidth) + "px");
}
}