- 浏览: 57069 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
netkongjian:
欢迎加入程序员网址导航[deyi]
仿360网址导航 -
jjklmm:
期待完善:如何保证ie6下,弹出窗口垂直居中,且拖动滚动条时, ...
jquery不同间隔时间弹窗 -
jjklmm:
初级完善后的瀑布流:http://jjklmm.iteye.c ...
初级瀑布流,欢迎改善 -
hoarhoar:
netkiller.github.com 写道为什么Apple ...
总结Objective-C特点 -
netkiller.github.com:
为什么Apple不选择 D语言呢?
总结Objective-C特点
源代码如下:
<!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-language" content="zh-cn" />
<title>安博中程企业培训,企业内训,专注于android培训,软考培训,软件开发,软件工程,嵌入式,UI设计,重构,架构等IT企业培训</title>
<meta name="keywords" content="企业培训,企业内训,android培训,软考培训,it企业培训"/>
<meta name="description" content="安博中程企业培训多年来致力于android培训,软考培训,嵌入式,UI设计,重构,架构,软件测试,需求分析,软件开发,数据库,国防军工等IT高端技术的企业培训、企业内训,一直在行业内处于领先地位,所开企业内训或公开课如软考培训,android应用开发培训,软件工程培训,敏捷开发,嵌入式培训,项目管理及国防军工的电子产品设计和信息化培训等授课讲师均是知名专家,行业内领军人物,已成为中国高端培训第一品牌."/>
<script type="text/javascript">
<!--
var IE=false,FF=false,W=window,D=document,H,B,GET="getElementsByTagName",GEI="getElementById",qq=0;
function fold(){
var e;
e=fixE(e);
if(e)element=fixElement(e);
element=element.parentNode.parentNode;
element.className=element.className.indexOf("hide")>0?"module":"module hide";
}
var Drag={
draging : false,
x : 0,
y : 0,
element : null,
fDiv : null,
ghost : null,
addEvent : function(){var a=D[GET]("li");for(var i=a.length-1;i>-1;i--)if(a[i].className=="module")a[i].onmousedown=Drag.dragStart;},
ix:2,iy:7,
ox:6,oy:7,
fx:6,fy:6,
dragStart : function (e){
if(Drag.draging)return;
var e;
e=fixE(e);
if(e)element=fixElement(e);
D.getElementById("aaa").innerHTML=element.parentNode.offsetTop+ ","+element.parentNode.offsetHeight;
//测试
if(element.className!="title")return;
element=element.parentNode;
Drag.element=element;
//以上获得当前移动的模块
Drag.x=e.layerX?e.layerX+Drag.fx:(IE?e.x+Drag.ix:e.offsetX+Drag.ox);
Drag.y=e.layerY?e.layerY+Drag.fy:(IE?e.y+Drag.iy:e.offsetY+Drag.oy);
//鼠标相对于模块的位置
Drop.measure();
if(e.layerX){Drag.floatIt(e);Drag.drag(e);}//fix FF
B.style.cursor="move";
D.onmousemove=Drag.drag;
D.ondragstart=function(){window.event.returnValue = false;}
D.onselectstart=function(){window.event.returnValue = false;};
D.onselect=function(){return false};
D.onmouseup=element.onmouseup=Drag.dragEnd;
element.onmousedown=null;
},
drag : function (e){
var e;
e=fixE(e);
if(!Drag.fDiv)Drag.floatIt(e);//for IE & Opera
var x=e.clientX,y=e.clientY;
Drag.fDiv.style.top=y+H.scrollTop-Drag.y+"px";
Drag.fDiv.style.left=x+H.scrollLeft-Drag.x+"px";
Drop.drop(x,y);
//statu(e);
},
dragEnd : function (e){
B.style.cursor="";
D.ondragstart=D.onmousemove=D.onselectstart=D.onselect=D.onmouseup=null;
Drag.element.onmousedown=Drag.dragStart;
if(!Drag.draging)return;
Drag.ghost.parentNode.insertBefore(Drag.element,Drag.ghost);
Drag.ghost.parentNode.removeChild(Drag.ghost);
B.removeChild(Drag.fDiv);
Drag.fDiv=null;
Drag.draging=false;
Drop.init(D[GEI]("container"));
},
floatIt : function(e){
var e,element=Drag.element;
var ghost=D.createElement("LI");
Drag.ghost=ghost;
ghost.className="module ghost";
ghost.style.height=element.offsetHeight-2+"px";
element.parentNode.insertBefore(ghost,element);
//创建模块占位框
var fDiv=D.createElement("UL");
Drag.fDiv=fDiv;
fDiv.className="float";
B.appendChild(fDiv);
fDiv.style.width=ghost.parentNode.offsetWidth+"px";
fDiv.appendChild(element);
//创建容纳模块的浮动层
Drag.draging=true;
}
}
var Drop={
root : null,
index : null,
column : null,
init : function(it){
if(!it)return;
Drop.root=it;
it.firstItem=it.lastItem=null;
var a=it[GET]("ul");
for(var i=0;i<a.length;i++){
if(a[i].className!="column")continue;
if(it.firstItem==null){
it.firstItem=a[i];
a[i].previousItem=null;
}else{
a[i].previousItem=a[i-1];
a[i-1].nextItem=a[i];
}
a[i].nextItem=null;
it.lastItem=a[i];
a[i].index=i;
a[i].firstItem=a[i].lastItem=null;
var b=a[i][GET]("li");
for(var j=0;j<b.length;j++){
if(b[j].className.indexOf("module")==-1)continue;
if(a[i].firstItem==null){
a[i].firstItem=b[j];
b[j].previousItem=null;
}else{
b[j].previousItem=b[j-1];
b[j-1].nextItem=b[j];
}
b[j].nextItem=null;
a[i].lastItem=b[j];
b[j].index=i+","+j;
}
}
},
measure : function(){
if(!Drop.root)return;
var currentColumn=Drop.root.firstItem;
while(currentColumn){
var currentModule=currentColumn.firstItem;
while(currentModule){
currentModule.minY=currentModule.offsetTop;
currentModule.maxY=currentModule.minY+currentModule.offsetHeight;
currentModule=currentModule.nextItem;
}
currentColumn.minX=currentColumn.offsetLeft;
currentColumn.maxX=currentColumn.minX+currentColumn.offsetWidth;
currentColumn=currentColumn.nextItem;
}
Drop.index=Drag.element.index;
},
drop : function(x,y){
if(!Drop.root)return;
var x,y,currentColumn=Drop.root.firstItem;
while(x>currentColumn.maxX)if(currentColumn.nextItem)currentColumn=currentColumn.nextItem;else break;
var currentModule=currentColumn.lastItem;
if(currentModule)while(y<currentModule.maxY){
if(y>currentModule.minY-12){
if(Drop.index==currentModule.index)return;
Drop.index=currentModule.index;
if(currentModule.index==Drag.element.index){if(currentModule.nextItem)currentModule=currentModule.nextItem;else break;}
currentColumn.insertBefore(Drag.ghost,currentModule);
Drop.column=null;
window.status=qq++;
return;
}else if(currentModule.previousItem)currentModule=currentModule.previousItem;else return;
}
if(Drop.column==currentColumn.index)return;
currentColumn.appendChild(Drag.ghost);
Drop.index=0;
Drop.column=currentColumn.index;
window.status=qq++;
}
}
var webNote={
obj : null,
canEdit : function(e){
var e,element;
e=fixE(e);
element=fixElement(e);
if(element.className!='webNote')return;
if(typeof element.contentEditable!="undefined"){
element.contentEditable=true;
element.style.borderColor='red';
element.focus();
webNote.obj=element;
}
},
cannotEdit : function(){
if(!webNote.obj)return;
if(typeof webNote.obj.contentEditable!="undefined"){
webNote.obj.style.borderColor='#ffffe0';
webNote.obj.contentEditable=false;
webNote.obj=null;
}
}
}
function fixE(e){var e;e=e?e:(window.event?window.event:null);return e}
function fixElement(e){var e;return e.target?(e.target.nodeType==3?e.target.parentNode:e.target):e.srcElement;}
onload=function(){
B=D[GET]("body")[0];
H=D[GET]("html")[0];
Drop.init(D[GEI]("container"));
Drag.addEvent();
}
function statu(e){
var e,element;
element=fixElement(e);
var aa=D.getElementById("aaa");
aa.innerHTML="e.xy:("+e.x+","+e.y+")<br/>e.offsetXY:("+e.offsetX+","+e.offsetY+")<br/>e.clientXY:("+e.clientX+","+e.clientY+")<br/>element.offsetLeftTop:("+element.offsetLeft+","+element.offsetTop+")<br/>e.layerXY:("+e.layerX+","+e.layerY+")";
}
//-->
</script>
<style type="text/css">
body,table,td,th,input,textarea,button,select{font:13px/16px Verdana,"宋体",sans-serif;}
table{border-collapse:collapse;}
p{margin:0px;}
.container{margin:8px;}
.column{width:33%;margin:0px;padding:0px;float:left;overflow:hidden;}
.module{margin:5px;padding:0px;border:1px solid #dcd;position:relative;background-color:white;list-style:none;}
.title{background-color:#edf;padding:1px 0px;width:100%;overflow:hidden;cursor:move;z-index:0;font-weight:bold;}
.cont{padding:3px;overflow:hidden;}
.hide .cont{display:none;}
.pageTitle{font-weight:bold;text-align:center;}
input.pageTitle{display:none;border:0px;padding:0px;width:100%;}
.webNote{background-color:#ffffe0;border:1px solid #ffffe0;}
textarea.webNote{display:none;overflow:hidden;padding:0px;border:0px;padding:0px;}
.ghost{border:1px dashed red;}
.float{position:absolute;z-index:100;margin:0px;padding:0px;overflow:hidden;list-style:none;-moz-opacity:.75;filter:Alpha(opacity=75);}
</style>
</head>
<body>
<center><span class="pageTitle" onClick="with(this.nextSibling){value=this.innerHTML;style.display='block';focus()};this.style.display='none';">You can input a topic here!</span><input class="pageTitle" onBlur="with(this.previousSibling){D.title=innerHTML=this.value?this.value:'Demo';style.display='block';};this.style.display='none'" /></center>
<div class="container" id="container">
<ul class="column">
<li class="module">
<div class="title"><span onClick="fold()">+</span> Coodinate</div>
<div class="cont" id="aaa">content</div>
</li>
<li class="module">
<div class="title"><span onClick="fold()">+</span> contentEditable</div>
<div class="cont" onClick="alert('this.contentEditable:'+this.contentEditable)">click here</div>
</li>
<li class="module">
<div class="title"><span onClick="fold()">+</span> long long ago</div>
<div class="cont">安博中程企业培训多年来致力于android培训,软考培训,嵌入式,UI设计,重构,架构,软件测试,需求分析,软件开发,数据库,国防军工等IT高端技术的企业培训、企业内训,一直在行业内处于领先地位,所开企业内训或公开课如软考培训,android应用开发培训,软件工程培训,敏捷开发,嵌入式培训,项目管理及国防军工的电子产品设计和信息化培训等授课讲师均是知名专家,行业内领军人物,已成为中国高端培训第一品牌.</div>
</li>
</ul>
<ul class="column">
<li class="module">
<div class="title"><span onClick="fold()">+</span> this.parentNode</div>
<div class="cont"><button onClick="alert(this.parentNode.parentNode.parentNode.innerHTML)">parentNode</button></div>
</li>
<li class="module">
<div class="title"><span onClick="fold()">+</span> webNote</div>
<div class="cont"><div class="webNote" onblur="webNote.cannotEdit()" onClick="webNote.canEdit(event)">You can note something here.<br/><a href="http://www.miiceic.org.cn/">中程在线</a><br /><a href="http://www.miiceic.org.cn/">企业培训</a><br /><a href="http://www.amboedu.com/">职业教育</a><br /><a href="http://www.ciitn.com/">信息产业培训网</a></div><textarea class="webNote"></textarea></div>
</li>
<li class="module">
<div class="title"><span onClick="fold()">+</span> Google</div>
<div class="cont"><center><a href="http://jjklmm.iteye.com/" style="font:bold 31px/2 Arial;">http://jjklmm.iteye.com/</a></center></div>
</li>
</ul>
<ul class="column">
<li class="module">
<div class="title"><span onClick="fold()">+</span> pia~~</div>
<div class="cont"><a href="http://www.miiceic.org.cn/">中程在线</a> <a href="http://www.miiceic.org.cn/">企业培训</a> <a href="http://www.amboedu.com/">职业教育</a> <a href="http://www.ciitn.com/">信息产业培训网</a></div>
</li>
<li class="module">
<div class="title"><span onClick="fold()">+</span> biu~~</div>
<div class="cont"><a href="http://www.miiceic.org.cn/">中程在线</a><br /><a href="http://www.miiceic.org.cn/">企业培训</a><br /><a href="http://www.amboedu.com/">职业教育</a><br /><a href="http://www.ciitn.com/">信息产业培训网</a></div>
</li>
<li class="module">
<div class="title"><span onClick="fold()">+</span> 无话可说</div>
<div class="cont" id="bbb"><a href="http://www.miiceic.org.cn/">中程在线</a> <a href="http://www.miiceic.org.cn/">企业培训</a> <a href="http://www.amboedu.com/">职业教育</a> <a href="http://www.ciitn.com/">信息产业培训网</a></div>
</li>
</ul>
</div>
<div style="font-size:10px;line-height:14px;clear:both;margin:6px 3%;text-align:center;border:1px solid #eee;">©2011 http://jjklmm.iteye.com/</div>
</body>
</html>
发表评论
-
全屏浮动js
2012-07-19 09:28 797查看效果: http://www.leyikao.com ... -
底部浮动js
2012-07-18 08:29 830查看效果:http://www.leyikao.com ... -
javascript深入理解js闭包
2012-04-19 11:00 867闭包(closure)是Jav ... -
javascript 实现圆角,兼容ie
2012-03-21 09:03 800效果图: 点击查看效果:http://www.miice ... -
仿京东左侧栏目导航
2012-02-08 08:59 2017效果图: 查看效果:http://www.miicei ... -
实用搜索框样式
2012-02-03 09:08 1700效果图: 参考网址:http://www.miiceic.o ... -
实用下拉菜单
2011-12-31 09:06 1120效果查看地址:http://www.miiceic.org ... -
javascript 信息提示框
2011-12-20 08:54 887效果参考网站:http://www.miiceic. ... -
仿保时捷网站菜单
2011-12-16 08:54 969效果查看地址:http://www.miiceic.or ... -
仿联想下拉菜单
2011-11-16 09:19 1018效果查看网址:http://www.miiceic.org.c ... -
实用的在线咨询功能
2011-10-31 09:13 802查看效果:http:www.miiceic.org.cn ... -
非常实用的下拉菜单
2011-10-26 09:20 1207查看效果:http://www.miiceic.org.cn/ ... -
javascript 滚动条 动态加载内容
2011-09-27 09:29 1172<!DOCTYPE html PUBliC " ... -
jquery 滚动条 动态加载内容
2011-09-26 11:07 9友情提示:跨领域技术体验峰会 <!DOCTYPE ... -
javascript 打印输出 json
2011-09-21 08:55 1703<!DOCTYPE html PUBliC " ... -
javascript 打印输出 object
2011-09-20 11:23 1224<!DOCTYPE html PUBliC " ... -
"(function(){})()"的分步解析
2011-09-19 10:18 548一、"(function(){})()"的 ... -
DOCTYPE对javascript的影响
2011-09-19 10:03 732不同的<!DOCTYPE>定义会影响到javasc ... -
css优化 之logo
2011-09-07 16:14 743点击查看显示效果网址 源代码: <!DOC ... -
javascript 生成下拉菜单
2011-09-07 09:45 914效果展示页面:http://www.miiceic.org.c ...
相关推荐
DIV 拖动 JS移动DIV DIV位置移动DIV 拖动 JS移动DIV DIV位置移动DIV 拖动 JS移动DIV DIV位置移动DIV 拖动 JS移动DIV DIV位置移动
标题中的“DIV可移动 可实现任意拖动放大缩小”是指一种使用JavaScript技术来实现的交互功能,允许用户在网页上自由地拖动、缩放HTML中的div元素。这一功能通常用于创建用户界面元素,如窗口、面板或者任何需要动态...
Vue.js 移动端实现div拖拽移动是一个常见的交互需求,尤其在开发移动应用或页面时,例如创建可拖动的悬浮窗口。本教程将详细讲解如何利用Vue.js框架来实现这一功能,主要涉及的事件处理包括触摸开始(`touchstart`)、...
- 当div被拖动到新的位置后,我们可能希望保存这个位置信息。这时可以使用Ajax发送一个请求到服务器。 - 创建一个新的XMLHttpRequest对象,这是Ajax的核心组件,用于与服务器通信。 - 编写`send()`方法的参数,...
纯Javascript编写的div拖拽以及用鼠标绘制div之间连接线,外部资源仅需要jquery。有以下功能: 1、创建节点 2、节点随鼠标任意拖动 3、切换拖动和画线模式 4、用鼠标绘制两个节点之间带有箭头的连线 5、连接线随节点...
`div`拖放功能是网页交互设计中的一个重要部分,它允许用户通过鼠标操作移动页面上的元素,提高了用户体验。C#通常与ASP.NET框架一起使用,为Web应用程序提供后端逻辑支持。虽然`div`拖放功能主要由前端JavaScript或...
在实际应用中,div拖动插件通常包括以下功能: 1. **初始化**:设置可拖动的div元素,添加必要样式和事件监听器。 2. **开始拖动**:当用户按下鼠标并在div上移动时,记录初始位置和鼠标位置。 3. **拖动中**:持续...
以上代码是基础版本的实现,实际应用中可能需要考虑更多的边界条件和优化,如限制div的移动范围、处理拖动过程中可能的滚动事件等。在实际项目中,也可以考虑使用现成的库,如`interact.js`或`jQuery UI`,它们提供...
标题“JS DIV拖动交换位置DEMO”涉及的是JavaScript中实现动态拖动并交换HTML元素,特别是`div`元素位置的技术。在这个示例中,开发者可能想要创建一个交互式的用户界面,用户可以通过鼠标拖拽来调整`div`元素的顺序...
根据提供的文件信息,本文将详细解析“div拖动”这一技术相关的知识点,包括其实现原理、应用场景以及具体的代码实现方式。 ### 一、基础知识:理解div拖动 #### 1.1 div元素简介 在HTML中,`div`是块级元素中最...
在页面上实现自由拖动DIV的小程序;鼠标点击后选中DIV并开始拖动,拖动过程中透明显示,移动时根据鼠标位置计算控件左上角的绝对位置,松开鼠标后停止移动并恢复成不透明
通过添加特定的JavaScript代码,可以赋予div元素拖拽的功能,让用户可以通过鼠标点击并拖动来改变div的位置。 在描述中提到的实现过程分为以下几个关键步骤: 1. **设置移动标记(_move)**:在鼠标按下事件...
标题中的“基于bootstrap和jquery的可拖拽移动div,可预览的页面生成器”指的是一个Web开发工具,它利用Bootstrap框架和jQuery库构建,允许用户通过拖拽和放置的方式设计网页布局,并实时预览编辑效果。Bootstrap是...
本下载包包括了3个js拖动特效,拖动DIV移动指定位置,一个实例是任意位置的拖动,不受限制,想拖动到哪里就...第三个拖动类似于第二个,不过只能将DIV拖动到右侧的指定区域中,拖动到其它区域则会回弹到原来的位置。
在JavaScript中,实现鼠标拖动div移动的效果是前端开发中常见的交互设计,它涉及到DOM操作、事件处理以及坐标计算等多个知识点。以下将详细介绍这个过程。 首先,我们需要理解`div`在HTML中的作用。`div`元素是块级...
总结来说,"Ext div拖动demo"是一个使用Ext JS库和JavaScript实现的<div>元素上下拖动的示例,它展示了如何利用Web技术创建动态、交互式的用户界面。通过理解并应用这些知识,开发者可以提升Web应用的用户体验,并在...
本示例主要关注的是“js行拖动”,“div拖动”以及“图片拖动”。这些功能通常用于创建可自定义排序的列表、布局调整或图像编辑等场景。 1. **js行拖动**: js行拖动通常涉及到HTML表格中的行或者列表项(li)的...
选中复选框(可移动、可调整大小)后,打开的DIV具有移动/调整大小的功能(此时移动/调整大小快捷键可使用); 反之,不可移动/调整大小(此时移动/调整大小快捷键无效) 单选框默认居中打开选中,无论有无保存DIV位置和...
在网页开发中,"拖拽+拖拽改变div大小"是一种常见的交互设计,它允许用户通过鼠标拖动来调整div元素的尺寸。这种功能在创建可定制的布局、图形编辑工具或者任何需要用户自定义区域大小的应用中非常有用。本文将深入...
在标题“拖动多个div”中,我们关注的是如何使一个或多个 `div` 元素变得可拖动,即用户可以通过鼠标进行交互,自由地在页面上移动这些元素。这种功能在构建各种交互式界面时非常有用,例如,可以用于创建可自定义...