AJAX层拖动例子 1
<html>
<head>
<title>DRAG the DIV</title>
<style>
*{font-size:12px}
.dragTable{
font-size:12px;
border-top:1px solid #3366cc;
margin-bottom: 10px;
width:100%;
background-color:#FFFFFF;
}
.dragTR{
cursor:move;
color:#7787cc;
background-color:#e5eef9;
}
td{vertical-align:top;}
#parentTable{
border-collapse:collapse;
letter-spacing:25px;
}
</style>
<script defer>
/****JoeLee************E-MAIL:hktx@163.com****QQ:48293707*****11:09 2006-2-9******/
var draged=false;
tdiv=null;
function dragStart(){
ao=event.srcElement;
if((ao.tagName=="TD")||(ao.tagName=="TR"))ao=ao.offsetParent;
else return;
draged=true;
tdiv=document.createElement("div");
tdiv.innerHTML=ao.outerHTML;
tdiv.style.display="block";
tdiv.style.position="absolute";
tdiv.style.filter="alpha(opacity=70)";
tdiv.style.cursor="move";
tdiv.style.width=ao.offsetWidth;
tdiv.style.height=ao.offsetHeight;
tdiv.style.top=getInfo(ao).top;
tdiv.style.left=getInfo(ao).left;
document.body.appendChild(tdiv);
lastX=event.clientX;
lastY=event.clientY;
lastLeft=tdiv.style.left;
lastTop=tdiv.style.top;
try{
ao.dragDrop();
}catch(e){}
}
function draging(){//重要:判断MOUSE的位置
if(!draged)return;
var tX=event.clientX;
var tY=event.clientY;
tdiv.style.left=parseInt(lastLeft)+tX-lastX;
tdiv.style.top=parseInt(lastTop)+tY-lastY;
for(var i=0;i<parentTable.cells.length;i++){
var parentCell=getInfo(parentTable.cells[i]);
if(tX>=parentCell.left&&tX<=parentCell.right&&tY>=parentCell.top&&tY<=parentCell.bottom){
var subTables=parentTable.cells[i].getElementsByTagName("table");
if(subTables.length==0){
if(tX>=parentCell.left&&tX<=parentCell.right&&tY>=parentCell.top&&tY<=parentCell.bottom){
parentTable.cells[i].appendChild(ao);
}
break;
}
for(var j=0;j<subTables.length;j++){
var subTable=getInfo(subTables[j]);
if(tX>=subTable.left&&tX<=subTable.right&&tY>=subTable.top&&tY<=subTable.bottom){
parentTable.cells[i].insertBefore(ao,subTables[j]);
break;
}else{
parentTable.cells[i].appendChild(ao);
}
}
}
}
}
function dragEnd(){
if(!draged)return;
draged=false;
mm=ff(150,15);
}
function getInfo(o){//取得坐标
var to=new Object();
to.left=to.right=to.top=to.bottom=0;
var twidth=o.offsetWidth;
var theight=o.offsetHeight;
while(o!=document.body){
to.left+=o.offsetLeft;
to.top+=o.offsetTop;
o=o.offsetParent;
}
to.right=to.left+twidth;
to.bottom=to.top+theight;
return to;
}
function ff(aa,ab){//从GOOGLE网站来,用于恢复位置
var ac=parseInt(getInfo(tdiv).left);
var ad=parseInt(getInfo(tdiv).top);
var ae=(ac-getInfo(ao).left)/ab;
var af=(ad-getInfo(ao).top)/ab;
return setInterval(function(){if(ab<1){
clearInterval(mm);
tdiv.removeNode(true);
ao=null;
return
}
ab--;
ac-=ae;
ad-=af;
tdiv.style.left=parseInt(ac)+"px";
tdiv.style.top=parseInt(ad)+"px"
}
,aa/ab)
}
function inint(){//初始化
for(var i=0;i<parentTable.cells.length;i++){
var subTables=parentTable.cells[i].getElementsByTagName("table");
for(var j=0;j<subTables.length;j++){
if(subTables[j].className!="dragTable")break;
subTables[j].rows[0].className="dragTR";
subTables[j].rows[0].attachEvent("onmousedown",dragStart);
subTables[j].attachEvent("ondrag",draging);
subTables[j].attachEvent("ondragend",dragEnd);
}
}
}
inint();
</script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="10" width="100%" height=500 id="parentTable">
<tr >
<td width="25%" valgin="top">
<table border=0 class="dragTable" cellspacing="0">
<tr>
<td><b>GMAIL</b></td>
</tr>
<tr>
<td>暂时无法显示GMAIL内容</td>
<tr>
</table><table border=0 class="dragTable" cellspacing="0">
<tr>
<td>新浪体育</td>
</tr>
<tr>
<td>解剖威队独门利器FW28 2万转引擎匹配超级变速器颁奖:辛吉斯欣喜能以冠军起步 印度搭档创下纪录法新社前瞻冬奥短道速滑:中韩唱主角 美加施冷箭</td>
<tr>
</table><table border=0 class="dragTable" cellspacing="0">
<tr>
<td>焦点</td>
</tr>
<tr>
<td>京广线中断4小时20临客返汉晚点
中国新闻网-湖北分社 - 所有 235 相关报道 ?哈马斯已有总理人选
解放日报报业集团 - 所有 489 相关报道 ?陈水扁是两岸关系麻烦制造者
武汉晨报 - 所有 179 相关报道 ?</td>
<tr>
</table>
</td>
<td width="25%">
<table border=0 class="dragTable" cellspacing="0">
<tr>
<td>中关村在线</td>
</tr>
<tr>
<td>新年行情速递 双敏板卡低价推荐 终于等到了,映泰6600GT一降降一百 罗技G15游戏键盘热力促销,代购价仅529元 </td>
<tr>
</table></td>
<td width="25%">
<table border=0 class="dragTable" cellspacing="0">
<tr>
<td>网易商业</td>
</tr>
<tr>
<td>上海GDP增幅去年出现回落应对反倾销 中国鞋企联手对抗欧盟尹家绪操盘南方汽车 长安谋求曲线整体境外上市</td>
<tr>
</table>
</td>
</tr>
</table>
</body>
</html>
分享到:
相关推荐
总之,Ajax层拖动例子提供了直观的前端交互设计实践,通过JavaScript或jQuery等工具,结合DOM操作和事件处理,可以实现灵活、高效的层拖动功能。这两个示例可能包含了一些优化技巧和特定的实现方式,学习它们有助于...
二、Ajax拖动实现步骤 1. **初始化**:首先,我们需要对需要拖动的元素添加事件监听器。当鼠标按下时,记录元素的初始位置和鼠标的位置。 2. **拖动处理**:在`mousemove`事件中,计算鼠标当前的位置与按下时的...
【Ajax弹出漂亮可拖动的提示层(窗)效果】是一种常见的网页交互设计,它结合了Ajax技术、CSS样式和JavaScript脚本,用于创建美观且功能强大的提示窗口。这个提示层可以在用户触发某些事件(如点击按钮)时,通过Ajax...
在这个例子中,`dragStart`记录拖动的元素ID,`allowDrop`和`drop`处理拖放到目标区域的逻辑,而`sendAjaxRequest`则负责发送Ajax请求。 ### 5. 注意事项 在实际应用中,确保兼容性是至关重要的,因为不是所有...
这是一个用AJAX实现的拖动购物车的例子,同时实现了仿CSDN的加载用户信息来加载产品的信息,里面有一个GETINFO()是确定DIV的坐标,用它在列表边确定DIV的坐标再用气泡提示加载产品的信息.数据库就一张表,在代码里可以...
这是一个用AJAX实现的拖动购物车的例子,同时实现了仿CSDN的加载用户信息来加载产品的信息,里面有一个GETINFO()是确定DIV的坐标,用它在列表边确定DIV的坐标再用气泡提示加载产品的信息.数据库就一张表,在代码里可以...
这是一个用AJAX实现的拖动购物车的例子,同时实现了仿CSDN的加载用户信息来加载产品的信息,里面有一个GETINFO()是确定DIV的坐标,用它在列表边确定DIV的坐标再用气泡提示加载产品的信息.数据库就一张表,在代码里可以...
解压后,可以逐个运行这些例子,深入理解AJAX的工作机制及其在实际项目中的应用。 总的来说,AJAX是现代Web开发中的关键技术,它极大地提升了网页的动态性和用户体验。通过学习AJAX,开发者可以构建更高效、更响应...
这个实例源码例子是关于如何利用jQuery实现动态添加层、拖动层和移除层的功能,这对于创建交互式的Web界面非常有用。 首先,让我们详细探讨jQuery动态添加层的功能。在网页开发中,"层"通常指的是HTML中的div元素,...
在拖动条示例中,当用户改变拖动条的位置时,AJAX会捕获这一变化,并向服务器发送请求,传递当前拖动条的值。 2. **JavaScript**: JavaScript是实现AJAX的核心语言,负责监听拖动条的事件,如`mousedown`(鼠标按...
- "5右拖动--多选框控制显示和不显示列.rar"可能是一个交互式表格功能,通过Ajax实现列的显示和隐藏。 - "____demo.rar"和"ajax-demo.zip"是两个Ajax示例项目,可以帮助学习和理解Ajax的基本用法和实际应用。 ...
网页层拖动技术是网页交互设计中的一个重要组成部分,它允许...通过分析和实践这个例子,开发者不仅可以掌握网页层拖动的基本技巧,还能进一步提升对JavaScript和jQuery的理解,从而在网页设计和开发中实现更多创新。
1. **动态加载内容**:比如Google Maps,当用户拖动地图时,只加载可见区域的新数据,而不是重新加载整个地图。 2. **无刷新搜索**:搜索框中输入关键词时,下方会实时显示匹配结果,无需点击搜索按钮。 3. **表单...
8. DragDropExtender:提供拖放功能,允许用户通过鼠标拖动控件或数据项,增强了用户界面的可操作性。 9. CollapsiblePanelExtender:可折叠面板控件,帮助组织页面内容,用户可以根据需要展开或收起面板。 通过...
在这个例子中,Access存储了待排序的数据,ASP通过Ajax接收排序信息,然后更新数据库中相应记录的顺序。 **实现过程**: 1. **页面加载**:页面载入时,使用jQuery初始化拖动排序功能,绑定到需要排序的元素。 2. *...
通过以上步骤,我们可以实现一个类似Google新闻的可拖动例子,让用户在浏览新闻时享受更自由、个性化的布局体验。这个功能不仅提升了用户的参与度,也展示了前端技术在提高用户体验方面的强大能力。
在这个"Ajax拖拽例子代码"中,我们可以看到如何利用jQuery库来实现类似Chinaren的拖拽界面效果。 首先,我们来看`index.html`,这是网页的主文件,通常包含HTML结构以及引入其他资源如CSS和JavaScript文件的链接。...
在提供的"jQueryAjax完整拖动实例"中,可能包含了一个实现页面元素拖动功能的例子。这种功能通常利用jQuery的`mousedown()`, `mousemove()`, 和 `mouseup()`事件来跟踪用户的鼠标动作,同时使用Ajax来更新服务器端的...
本实例将深入探讨如何使用jQuery来实现动态添加层、拖动层以及移除层的功能,这对于创建交互式的Web应用程序至关重要。 ### 1. 动态添加层 动态添加层是指在网页运行时根据用户操作或特定条件创建新的HTML元素。...
- **地图应用**:拖动地图时,只加载可见区域的新数据。 ### 4. 课件学习内容 提供的"Ajax源代码及课件"应该包含了以下内容: - **基础概念**:介绍Ajax的基本原理和工作流程。 - **实例分析**:通过实际的代码...