足球游戏_中国足彩网¥体育资讯$

页面元素可拖拽放置的实现原理
来源:易贤网 阅读:789 次 日期:2015-04-22 11:25:44
温馨提示:易贤网小编为您整理了“页面元素可拖拽放置的实现原理”,方便广大网友查阅!

基本上msn、microsoft Live 和GOOGLE个性主页 元素可拖动并放置的的实现原理就是对DOM的操作再加上JAVASCRIPT拖动元素。实现起来实际上并不难,但是要做到很美观并符合用户习惯就需要一些时间思考了。

以下代码实现了上述功能,虽然很简单,但是基本上说明了原理。实现更高级的功能当然还需要改进。

<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<html>

<head>

<title>DropLayer2</title>

<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">

<meta name="CODE_LANGUAGE" Content="C#">

<meta name="vs_defaultClientScript" content="JavaScript">

<meta name="vs_targetSchema" content="">

<style type="text/css">

div

{

border-right: lightgrey thin solid;

border-top: lightgrey thin solid;

font-weight: bold;

z-index: 2;

text-transform: capitalize;

border-left: lightgrey thin solid;

color: white;

border-bottom: lightgrey thin solid;

background-color: dimgray;

}

</style>

</head>

<body>

<div id="parentDiv" class="parentCss" style="width:100">

<div class="itemCss" onmouseover="InsertDiv(this)">one 1</div>

<div class="itemCss" onmouseover="InsertDiv(this)">two 2</div>

<div class="itemCss" onmouseover="InsertDiv(this)">three 3</div>

<div class="itemCss" onmouseover="InsertDiv(this)">four 4</div>

<div class="itemCss" onmouseover="InsertDiv(this)">five 5</div>

<div class="itemCss" onmouseover="InsertDiv(this)">six 6</div>

<div class="itemCss" onmouseover="InsertDiv(this)">seven 7</div>

<div class="itemCss" onmouseover="InsertDiv(this)">eight 8</div>

<div class="itemCss" onmouseover="InsertDiv(this)">nine 9</div>

<div class="itemCss" onmouseover="InsertDiv(this)">ten 10</div>

</div>

<script language="javascript">

<!--

var obj,obj2; //引发事件对象

var rootNode; //控制对象根节点

var IsDrag=false; //是否抓起

var NullDiv; //空临时层

var x,y; //鼠标与控件的相对坐标

window.onload = Prepare; //窗体加载时委托到Prepare

function Prepare()

{

//生成临时层,并设置其属性

NullDiv = document.createElement("div");

//获得控制对象的根节点元素

rootNode = document.getElementById("parentDiv");

document.onmousemove=MoveIt; //当鼠标在文档上移动时事件委托到MoveIt

document.onmousedown=Drag; //当鼠标按下时事件委托到Drag

document.onmouseup=Release; //当鼠标释放台起时事件委托到Release

}

function Drag()

{

obj = event.srcElement;

x=0;//event.offsetX;

y=0;//event.offsetY;

obj.style.position='absolute';

obj.style.posTop=event.y-y;

obj.style.posLeft=event.x-x;

IsDrag=true;

}

function MoveIt()

{

//window.status = event.x+"|"+event.y+"|"+IsDrag+"|"+x+"|"+y;

if(IsDrag)

{

obj.style.posTop=event.y-y;

obj.style.posLeft=event.x-x;

}

}

function Release()

{

IsDrag=false;

NullDiv.style.display='none';

obj.style.position='';

rootNode.insertBefore(obj,obj2);

}

function InsertDiv(o)

{

if(IsDrag)

{

obj2=o;

NullDiv.style.display='';

NullDiv.style.height='18';

NullDiv.style.width='100';

rootNode.insertBefore(NullDiv,obj2);

}

}

//-->

</script>

</body>

</html>

中国足彩网信息请查看IT技术专栏

中国足彩网信息请查看脚本栏目
易贤网手机网站地址:页面元素可拖拽放置的实现原理
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 足球游戏_中国足彩网¥体育资讯$ 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标