一个简单的拖动层(兼容IE,FF)
生活随笔
收集整理的這篇文章主要介紹了
一个简单的拖动层(兼容IE,FF)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Code
<!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>拖動層</title>
????<style?type="text/css">
????.main
????{
????????position:?absolute;?
????????background-color:?#fff;
????????top:?100px;?
????????left:?100px;?
????????z-index:?101;?
????????border:?solid?1px?#ccc;
????}
????.titlebar
????{
????????background-color:?#ccc;?
????????cursor:?move;?
????????height:?20px;?
????????color:?#fff;
????????font-size:?13px;?
????????padding-top:?5px;?
????????padding-left:?10px;
????}
????</style>
</head>
<body>
????<div?id="main"?class="main"?style="width:?500px;?height:?350px;">
????????<div?id="titlebar"?class="titlebar">
????????????拖動層
????????</div>
????????<div?id="Div1"?class="main"?style="width:?200px;?height:?50px;">
????????????<div?id="Div2"?class="titlebar">
????????????????拖動層2
????????????</div>
????????</div>
????</div>
????<script?type="text/javascript">
????????new?drag("main",?"titlebar");
????????new?drag("Div1",?"Div2");
????????function?drag(main,?titlebar)?{
????????????var?obj?=?document.getElementById(main);
????????????var?title?=?document.getElementById(titlebar);
????????????if(obj?&&?title)
????????????{????????????
????????????????var?posX;
????????????????var?posY;
????????????????var?offset?=?10;
????????????????var?mousemove?=?function(evt)?{
????????????????????if?(evt?==?null)?evt?=?window.event;
????????????????????var?left?=?evt.clientX?-?posX;
????????????????????var?top?=?evt.clientY?-?posY;
????????????????????var?limitLeft?=?0;
????????????????????var?limitTop?=?0;
????????????????????if(obj.parentNode.nodeName?!=?"BODY")
????????????????????{
????????????????????????limitLeft?=?obj.parentNode.clientWidth?-?obj.clientWidth?-?offset;
????????????????????????if(limitLeft?<?left)
????????????????????????{
????????????????????????????left?=?limitLeft;
????????????????????????}
????????????????????????limitTop?=?obj.parentNode.clientHeight?-?obj.clientHeight?-?offset;
????????????????????????if(limitTop?<?top)
????????????????????????{
????????????????????????????top?=?limitTop;
????????????????????????}
????????????????????}
????????????????????else
????????????????????{
????????????????????????limitLeft?=?window.screen.availWidth?-?obj.clientWidth?-?offset;
????????????????????????if(limitLeft?<?left)
????????????????????????{
????????????????????????????left?=?limitLeft;
????????????????????????}
????????????????????????limitTop?=?window.screen.availHeight?-?obj.clientHeight?-?offset;
????????????????????????if(limitTop?<?top)
????????????????????????{
????????????????????????????top?=?limitTop;
????????????????????????}
????????????????????}
????????????????????if(left?<?offset)
????????????????????{
????????????????????????left?=?offset;
????????????????????}
????????????????????if(top?<?offset)
????????????????????{
????????????????????????top?=?offset;
????????????????????}
????????????????????obj.style.left?=?left?+?"px";
????????????????????obj.style.top?=?top?+?"px";
????????????????}
????????????????
????????????????title.onmousedown?=?function(evt)?{
????????????????????if?(!evt)?evt?=?window.event;
????????????????????posX?=?evt.clientX?-?obj.offsetLeft;
????????????????????posY?=?evt.clientY?-?obj.offsetTop;
????????????????????document.onmousemove?=?mousemove;
????????????????}
????????????????document.onmouseup?=?function()?{
????????????????????document.onmousemove?=?null;
????????????????}
????????????}
????????????else
????????????{
????????????????alert("參數(shù)錯誤!");
????????????}
????????}
????</script>
</body>
</html>
<!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>拖動層</title>
????<style?type="text/css">
????.main
????{
????????position:?absolute;?
????????background-color:?#fff;
????????top:?100px;?
????????left:?100px;?
????????z-index:?101;?
????????border:?solid?1px?#ccc;
????}
????.titlebar
????{
????????background-color:?#ccc;?
????????cursor:?move;?
????????height:?20px;?
????????color:?#fff;
????????font-size:?13px;?
????????padding-top:?5px;?
????????padding-left:?10px;
????}
????</style>
</head>
<body>
????<div?id="main"?class="main"?style="width:?500px;?height:?350px;">
????????<div?id="titlebar"?class="titlebar">
????????????拖動層
????????</div>
????????<div?id="Div1"?class="main"?style="width:?200px;?height:?50px;">
????????????<div?id="Div2"?class="titlebar">
????????????????拖動層2
????????????</div>
????????</div>
????</div>
????<script?type="text/javascript">
????????new?drag("main",?"titlebar");
????????new?drag("Div1",?"Div2");
????????function?drag(main,?titlebar)?{
????????????var?obj?=?document.getElementById(main);
????????????var?title?=?document.getElementById(titlebar);
????????????if(obj?&&?title)
????????????{????????????
????????????????var?posX;
????????????????var?posY;
????????????????var?offset?=?10;
????????????????var?mousemove?=?function(evt)?{
????????????????????if?(evt?==?null)?evt?=?window.event;
????????????????????var?left?=?evt.clientX?-?posX;
????????????????????var?top?=?evt.clientY?-?posY;
????????????????????var?limitLeft?=?0;
????????????????????var?limitTop?=?0;
????????????????????if(obj.parentNode.nodeName?!=?"BODY")
????????????????????{
????????????????????????limitLeft?=?obj.parentNode.clientWidth?-?obj.clientWidth?-?offset;
????????????????????????if(limitLeft?<?left)
????????????????????????{
????????????????????????????left?=?limitLeft;
????????????????????????}
????????????????????????limitTop?=?obj.parentNode.clientHeight?-?obj.clientHeight?-?offset;
????????????????????????if(limitTop?<?top)
????????????????????????{
????????????????????????????top?=?limitTop;
????????????????????????}
????????????????????}
????????????????????else
????????????????????{
????????????????????????limitLeft?=?window.screen.availWidth?-?obj.clientWidth?-?offset;
????????????????????????if(limitLeft?<?left)
????????????????????????{
????????????????????????????left?=?limitLeft;
????????????????????????}
????????????????????????limitTop?=?window.screen.availHeight?-?obj.clientHeight?-?offset;
????????????????????????if(limitTop?<?top)
????????????????????????{
????????????????????????????top?=?limitTop;
????????????????????????}
????????????????????}
????????????????????if(left?<?offset)
????????????????????{
????????????????????????left?=?offset;
????????????????????}
????????????????????if(top?<?offset)
????????????????????{
????????????????????????top?=?offset;
????????????????????}
????????????????????obj.style.left?=?left?+?"px";
????????????????????obj.style.top?=?top?+?"px";
????????????????}
????????????????
????????????????title.onmousedown?=?function(evt)?{
????????????????????if?(!evt)?evt?=?window.event;
????????????????????posX?=?evt.clientX?-?obj.offsetLeft;
????????????????????posY?=?evt.clientY?-?obj.offsetTop;
????????????????????document.onmousemove?=?mousemove;
????????????????}
????????????????document.onmouseup?=?function()?{
????????????????????document.onmousemove?=?null;
????????????????}
????????????}
????????????else
????????????{
????????????????alert("參數(shù)錯誤!");
????????????}
????????}
????</script>
</body>
</html>
轉(zhuǎn)載于:https://www.cnblogs.com/KenBlove/archive/2009/06/05/1497078.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的一个简单的拖动层(兼容IE,FF)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在XSLT中实现勾选的效果
- 下一篇: 高考这个特定的日子