js可拖动的后台界面

// ************************ 拖动 *********************************
    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);
  }

可拖动的后台界面_我们_jb51.net

*{
margin: 0px;
font-size:12px;
font-family:"宋体";
color:#000000;
}
html,body{
height: 100%;
width: 100%;
overflow:hidden;
background-color:#EEEEEF;
}
img{
padding:0px;
margin:0px;
vertical-align:middle;
border:0px;
}

.f_left{
float:left;
clear:right;
}
.f_right{
float:right ;
clear:right;
}
.topArea{
width:100%;
height:60px;
}
.logoArea{
float:left;
width:100%;
height:36px;
background-color:#EEEEEF;
}
.toolbarArea{
float:left;
width:100%;
height:24px;
background-color:#EEEEEF;
}
.bottomArea{
height:25px;
line-height:25px;
background-color:#EEEEEF ;
}
.leftBg{
background:#ffffff;
border:1px solid #BEBEBE;
}
.mainContent{
padding:0px;
}
.content_show{
float:left;
clear:right;
height:100%;
width:auto;
margin:0px;
padding:0px;
background-color:#ffffff;
border:1px solid #BEBEBE;
}

.splitBar{
width:6px;
height:100%;
cursor:col-resize;
}

function $doc(ele){
if(typeof ele == "string" || ele instanceof String){
return document.getElementById(ele);
}
return ele;
}
//设置页面布局
function resizePage(){
var topArea = $doc("topArea");
var mainContent = $doc("mainContent");
var footer = $doc("footer");

var myHeight = document.body.clientHeight - (topArea.offsetHeight + footer.offsetHeight);
if(myHeight 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 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • Raphael带文本标签可拖动的图形实现代码

    最近准备学学Javascript和Raphaël,实现一个可拖动的矩形,另外矩形上还得显示标签.查了一下网上这个东西还比较冷门.Javascript才学没几天,代码估计写的很烂. 复制代码 代码如下: <!doctype html> <html charset="utf-8"> <head> <title>Raphaël - Connectivities</title> <script src="raphael

  • js 可拖动列表实现代码

    补充一点: 要禁止移动中选中文字,FF可以设置CSS xxxx{-moz-user-select:none;} 其他的浏览器可以设置 XXXX.onselectstart = function(){return false} 一种实现原理就是点击没目标元素之后,创建一个占位元素(或者复制一份目标元素,即拷贝B),然后拖动目标元素(或者复制的来的新元素B): 找到相应的位置之后,插入目标元素.清除占位元素或者B. 比如有一个列表: 复制代码 代码如下: <!DOCTYPE html PUBLIC

  • js实现完美拖拽效果可拖动层与回放拖动规迹并显示拖动距离参数

    完美拖拽 html,body{overflow:hidden;} body,div,h2,p{margin:0;padding:0;} body{color:#fff;background:#000;font:12px/2 Arial;} p{padding:0 10px;margin-top:10px;} span{color:#ff0;padding-left:5px;} #box{position:absolute;width:300px;height:150px;background:#

  • 可拖动可改变大小div的实现代码

    Dialog .dialogcontainter{height:400px; width:400px; border:1px solid #14495f; position:absolute; font-size:13px;} .dialogtitle{height:26px; width:auto; background-image:url('http://files.jb51.net/file_images/200908/103444839.p.gif');} .dialogtitleinf

  • js可拖动的后台界面

    // ************************ 拖动 *********************************     function setDrag(e){             var drag_flag = true;              var begin_x = getX(e);             //添加蒙板             createMask();             //添加半透明拖动条             createSpli

  • bootstrap快速制作后台界面

    最近看了bootstrap的一个小的视频,快速的做出一个后台界面:介绍了一些典型的用法: 里面涉及了: 下拉菜单.胶囊菜单.胶囊菜单垂直显示.栅格排列.导航栏.字体图标. 图片样式.输入组.折叠菜单panel.面包屑.表格样式.分页组件样式: 下面将跟着项目做出的小例子贴出来: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <me

  • js用拖动滑块来控制图片大小的方法

    本文实例讲述了js用拖动滑块来控制图片大小的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv=Content-Type content="text/html;charset=gb2312"> <title&g

  • JS实现适合于后台使用的动画折叠菜单效果

    本文实例讲述了JS实现适合于后台使用的动画折叠菜单效果.分享给大家供大家参考.具体如下: 这是一款适合于后台使用的动画折叠菜单,代码超简,无jQuery,展开与折叠效果平滑.本演示中有两组菜单,向大家展示如何在一个网页中布局两个菜单,整体效果以及兼容性还算可以,希望在实际应用中不会出现什么问题. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-ht-control-animate-zd-menu-codes/ 具体代码如下: <!DOCTY

  • js实现卡片式项目管理界面UI设计效果

    这是一款非常有创意的卡片式项目管理界面UI设计效果.该UI设计中,将各个项目以卡片的方式堆叠排列在屏幕上,当点击了其中的某个项目的时候,该项目图片会全屏放大,向下滚动鼠标可以看到该项目的介绍信息. 该项目管理界面还提供了一个全屏的导航菜单,用户可以通过右上角的汉堡包图标来触发全屏菜单. 使用方法 HTML结构 该卡片式项目管理界面的HTML结构分为3个部分:.cd-nav-trigger是全屏菜单的触发按钮,nav.cd-primary-nav是全屏导航菜单,.cd-projects-conta

  • JS实现拖动滚动条评分的效果代码分享

    小编教你JS特效拖动滚动条可以评分效果,小编感觉挺不错,用时候可能需要ASP/PHP或其它语言配合取值并写入数据库,这是前台的实现. 直接上代码 看看JS的神奇吧! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head>

  • JS 实现获取打开一个界面中输入的值

    需求在一个界面中打开另一个界面,通过JS获取在另一个界面中用户输入的值.示例:Index.html 复制代码 代码如下: <html> <head> <meta http-equiv="content-type" content="text/html; charset=gbk"> <title>主页</title> <script type="text/javascript">

  • js+ajax处理java后台返回的json对象循环创建到表格的方法

    本文实例讲述了js+ajax处理java后台返回的json对象循环创建到表格的方法.分享给大家供大家参考,具体如下: //注:LO是表格的id: 需要自己创建表头, n行,9列的表格: var tab_id; function varify(cardinno) { tab_id=document.getElementById("Layer1"); displayDiv(); tab_id.style.display="none"; var url="get

  • js 鼠标拖动对象 可让任何div实现拖动效果

    js鼠标拖动对象: 复制代码 代码如下: //定义鼠标拖动对象 drag=function (a,o){      var d=document;if(!a)a=window.event;         if(!a.pageX)a.pageX=a.clientX;         if(!a.pageY)a.pageY=a.clientY;      var x=a.pageX,y=a.pageY;      if(o.setCapture)          o.setCapture();

  • vue.js配合$.post从后台获取数据简单demo分享

    首先导入 <script type="text/javascript" src="/island/stage/js/vue.min.js"></script> html样式: <div id="main-content" class="wrap-container zerogrid"> <article id="news_content" v-for="i

随机推荐