当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js可拖动的后台界面

Javascript
用Javascript 实现的Dual listbox
javascript中的数组应用的一点发现
我与Javascript 随笔(二)
关于IP验证的一个例子
JS中关于对内存的释放问题[待续]
用JScript实现公历到农历的日期转换
判断输入字符串为颜色类型的最优方法
日期控件还是看看这个吧
javascript版的日期输入控件
可输入的select改进版本,同一页面可有多个list,调用接口简化
数字金额转换汉字金额
关于四舍五入的问题,toFixed()
Select的OnChange()事件
关于javascript树形结构的编写问题
将人民币数字转换成大写形式
用JavaScript实现动画效果
javascript: 改变和控制显示的图片大小(保持比例,同时可限制高宽)
超强幻灯片播放脚本(VBS)
HTML页面如何象asp一样接受参数
数字日期转化为汉字日期格式...

Javascript 中的 js可拖动的后台界面


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 61 ::
收藏到网摘: n/a

不错的后台界面,方便大家以后做后台 // ************************ 拖动 *********************************
function setDrag(e){
var drag_flag = true;
var begin_x = getX(e);
//添加蒙板
createMask();
//添加半透明拖动条
createSplitDiv();
function getX(e){
if(window.event) e = window.event;
return (e.x || e.clientX);
}
function createSplitDiv(){
//半透明的拖动条
var _top = $doc("topArea").offsetHeight +"px";
var _left = $doc("dragBar").offsetLeft +"px";;
var _height = $doc("dragBar").offsetHeight +"px";;
var splitDivCss="position:absolute;width:6px;height:"+_height+";top:"+_top+";left:"+_left+";cursor:col-
resize;background-color:#cccccc;overflow:hidden;z-index:10010;filter:alpha(opacity=50);opacity:0.5;";
var _splitDiv = document.createElement("div");
_splitDiv.id = "splitDiv";
_splitDiv.style.cssText = splitDivCss;
document.body.appendChild(_splitDiv);
}
function createMask(){
try{
//创建背景
var rootEl=document.documentElement||document.body;
var docHeight=((rootEl.clientHeight>rootEl.scrollHeight)?
rootEl.clientHeight:rootEl.scrollHeight)+"px";
var docWidth=((rootEl.clientWidth>rootEl.scrollWidth)?rootEl.clientWidth:rootEl.scrollWidth)
+"px";
var
shieldStyle="position:absolute;top:0px;left:0px;width:"+docWidth+";height:"+docHeight+";background:#cccccc;z-
index:10000;filter:alpha(opacity=0);opacity:0";
var _shield = document.createElement("div");
_shield.id = "shield";
_shield.style.cssText = shieldStyle;
document.body.appendChild(_shield);
}catch(e){}
}
//拖动时执行的函数
document.onmousemove = function(e){
try{
if(drag_flag){
var now_x = getX(e);
var _pv = parseInt($doc("splitDiv").style.left)+ now_x - begin_x;
$doc("splitDiv").style.left = _pv +"px";
begin_x = now_x;
}else{
$doc("leftShow").style.width = $doc("splitDiv").style.left;
document.body.removeChild($doc("shield"));
document.body.removeChild($doc("splitDiv"));
// 调整页面布局
resizePage();
}
}catch(e){}
}
document.onmouseup = function(){
try{
if(drag_flag){
//设定拖动条的位置(设定左侧的宽度)
$doc("leftShow").style.width = $doc("splitDiv").style.left;
document.body.removeChild($doc("shield"));
document.body.removeChild($doc("splitDiv"));
// 调整页面布局
resizePage();
}
drag_flag = false;
begin_x = null;
}catch(e){}
}
}
if(window.attachEvent){
window.attachEvent("onload",function(){resizePage();});
window.attachEvent("onresize",function(){resizePage();});
}
if(window.addEventListener){
window.addEventListener("load",function(){resizePage();},true);
window.addEventListener("resize",function(){resizePage();},true);
}
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]