[转]最短的拖动代码

1.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>来自心动网络</title>

<script language="JavaScript" type="text/javascript">

var x,y

var drag_=false

var D=new Function('obj','return document.getElementById(obj);')//更改这名以便针对特定的浏览器 如Opera的判断navigator.appName.indexOf("Opera")

var IE=new Function('','if(navigator.appName.indexOf("Explorer")>=0)return 1;if(navigator.appName.indexOf("Netscape")>=0)return 2;if(navigator.appName.indexOf("Opera")>=3)return 3')

function Move_obj(obj){//1

D(obj).οnmοusedοwn=function(e){drag_=true//4

 with(this){style.position="absolute";temp1=offsetLeft;temp2=offsetTop;//5

 if(IE()==1){x=event.clientX;y=event.clientY//6

     document.οnmοusemοve=function(e){//7

    if(drag_==false)return false

        with(this){style.left=temp1+event.clientX-x+"px";style.top=temp2+event.clientY-y+"px"}

 }//7

 }//6

                                    //此处增加||IE()==3||IE()==undefined

 if(IE()==2||IE()==3||IE()==undefined){x=e.pageX;y=e.pageY;//8

     document.οnmοusemοve=function(e){//9

    if(drag_==false)return false

        with(this){style.left=temp1+e.pageX-x+"px";style.top=temp2+e.pageY-y+"px"}

 }//9

 }//8

  }//5

           document.οnmοuseup=new Function("drag_=false")

}//4

}//1

</script>

<body>

<div id="test" style="background-color:#0099CC;width:200px"οnmοuseοver='Move_obj("test")'>这个是可以拖动的层</div>

 

2.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title> New Document </title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<meta http-equiv="Content-Language" content="zh-CN" />

<meta name="Design Corp" content="myhhe.cn" />

<meta name="Designer" content="hayden" />

<meta name="Designer mail" content="QQ:3996992" />

<meta name="robots" content="hayden" />

<meta name="Keywords" content="" />

<meta name="Description" content="" />

<script language="JavaScript" type="text/javascript">

var drag_=false

var D=new Function('obj','return document.getElementById(obj);')

var oevent=new Function('e','if (!e) e = window.event;return e')

function Move_obj(obj){

var x,y;

D(obj).οnmοusedοwn=function(e){

drag_=true;

with(this){

style.position="absolute";var temp1=offsetLeft;var temp2=offsetTop;

x=oevent(e).clientX;y=oevent(e).clientY;

document.οnmοusemοve=function(e){

if(!drag_)return false;

with(this){

style.left=temp1+oevent(e).clientX-x+"px";

style.top=temp2+oevent(e).clientY-y+"px";

}

}

}

document.οnmοuseup=new Function("drag_=false");

}

}

</script>

<body>

<div id="test" style="background-color:#0099CC;width:200px;height:100px;border:1px #000 solid;" οnmοuseοver='Move_obj("test")'>这个是可以拖动的层</div>

</body>

</html>

 

3.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

  <meta http-equiv="content-type" content="text/html; charset=gb2312">

  <meta http-equiv="content-script-type" content="text/javascript">

  <meta http-equiv="content-style-type" content="text/css">

  <title>DoDi Chat v1.0 Beta</title>

  <style rel="stylesheet" type="text/css" media="all" />

  <!--

  body {

    text-align:left;

    margin:0;

    font:normal 12px Verdana, Arial;

    background:#FFEEFF

  }

  form {

    margin:0;

    font:normal 12px Verdana, Arial;

  }

  table,input {

    font:normal 12px Verdana, Arial;

  }

  a:link,a:visited{

    text-decoration:none;

    color:#333333;

  }

  a:hover{

    text-decoration:none;

    color:#FF6600

  }

  #main {

    width:400px;

    position:absolute;

    left:600px;

    top:100px;

    background:#EFEFFF;

    text-align:left;

    filter:Alpha(opacity=90)

  }

  #ChatHead {

    text-align:right;

    padding:3px;

    border:1px solid #003399;

    background:#DCDCFF;

    font-size:11px;

    color:#3366FF;

    cursor:move;

  }

  #ChatHead a:link,#ChatHead a:visited, {

    font-size:14px;

    font-weight:bold;

    padding:0 3px

  }

  #ChatBody {

    border:1px solid #003399;

    border-top:none;

    padding:2px;

  }

  #ChatContent {

    height:200px;

    padding:6px;

    overflow-y:scroll;

    word-break: break-all

  }

  #ChatBtn {

    border-top:1px solid #003399;

    padding:2px

  }

  -->

  </style>

  <script language="javascript" type="text/javascript">

  <!--

  function $(d){return document.getElementById(d);}

  function gs(d){var t=$(d);if (t){return t.style;}else{return null;}}

  function gs2(d,a){

    if (d.currentStyle){ 

      var curVal=d.currentStyle[a]

    }else{ 

      var curVal=document.defaultView.getComputedStyle(d, null)[a]

    } 

    return curVal;

  }

  function ChatHidden(){gs("ChatBody").display = "none";}

  function ChatShow(){gs("ChatBody").display = "";}

  function ChatClose(){gs("main").display = "none";}

  function ChatSend(obj){

    var o = obj.ChatValue;

    if (o.value.length>0){

      $("ChatContent").innerHTML += "<strong>Akon说:</strong>"+o.value+"<br/>";

      o.value='';

    }

  }

  if  (document.getElementById){

    (

      function(){

        if (window.opera){ document.write("<input type='hidden' id='Q' value=' '>"); }

 

        var n = 500;

        var dragok = false;

        var y,x,d,dy,dx;

 

        function move(e)

        {

          if (!e) e = window.event;

          if (dragok){

            d.style.left = dx + e.clientX - x + "px";

            d.style.top  = dy + e.clientY - y + "px";

            return false;

          }

        }

 

        function down(e){

          if (!e) e = window.event;

          var temp = (typeof e.target != "undefined")?e.target:e.srcElement;

          if (temp.tagName != "HTML"|"BODY" && temp.className != "dragclass"){

            temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;

          }

          if('TR'==temp.tagName){

            temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;

            temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;

            temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;

          }

 

          if (temp.className == "dragclass"){

            if (window.opera){ document.getElementById("Q").focus(); }

            dragok = true;

            temp.style.zIndex = n++;

            d = temp;

            dx = parseInt(gs2(temp,"left"))|0;

            dy = parseInt(gs2(temp,"top"))|0;

            x = e.clientX;

            y = e.clientY;

            document.onmousemove = move;

            return false;

          }

        }

 

        function up(){

          dragok = false;

          document.onmousemove = null;

        }

 

        document.onmousedown = down;

        document.onmouseup = up;

 

      }

    )();

  }

  -->

  </script>

</head>

<body>

<div id="main" class="dragclass" style="left:600px;top:300px;">

  <div id="ChatHead">

    <a href="#" οnclick="ChatHidden();">-</a>

    <a href="#" οnclick="ChatShow();">+</a>

    <a href="#" οnclick="ChatClose();">x</a>

  </div>

  <div id="ChatBody">

    <div id="ChatContent"></div>

    <div id="ChatBtn">

      <form action="" name="chat" method="post">

      <textarea name="ChatValue" rows="3" style="width:350px"></textarea>

      <input name="Submit" type="button" value="Chat" οnclick="ChatSend(this.form);" />

      </form>

    </div>

  </div>

</div>

</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值