`

拖拽div

阅读更多
<!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=utf-8" />
<title>窗口模拟--Author:Vibo Email:vibo_cn@hotmail.com</title>
<style type="text/css">
<!--
body,td,th {
font-family: Arial, 宋体;
font-size: 12px;
}
.webWinFrame {
position: absolute;
left:15px;
top:15px;
padding: 3px;
background-color: #EEEEEE;
}
.webWin {
width: 300px;
border: 1px solid #80C65A;
background-color: #FFFFFF;
}
.webWin .wTitle{
line-height: 18px;
padding: 2px;
font-weight: bold;
cursor:move;
background-color: #DDF8CC;
/*display:inline-block;*/
white-space: nowrap;
overflow:hidden;
text-overflow:ellipsis
}
.webWin .wContent {
overflow:hidden;
}
.webWin .wResizeBox {
background-color: #80C65A;
height: 5px;
width: 5px;
position: absolute;
right: 5px;
bottom: 5px;
overflow:hidden;
cursor:se-resize;
}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
</head>
<body>
<div class="webWinFrame" id="testWinA"><div class="webWin"><div class="wTitle">TitleA-ViboStudio</div><div class="wContent">
<!---->
<div style="width:300px;height:200px;padding:2px;">
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
</div>
<!---->
</div><div class="wResizeBox"></div></div></div>
<div class="webWinFrame" id="testWinB" style="top:110px;"><div class="webWin"><div class="wTitle">TitleB</div><div class="wContent">
<!---->
此处显示新 Div 标签的内容
此处显示新 Div 标签的内容
此处显示新 Div 标签的内容
<!---->
</div><div class="wResizeBox"></div></div></div>
</body>
</html>
<script>
window.$ = function(obj){return (document.getElementById)?document.getElementById(obj):(document.all)?document.all[obj]:obj}
window.isIE = window.Event?false:true;
window.getMouseCoords=function(e){return {x:isIE?e.clientX+Math.max(document.body.scrollLeft, document.documentElement.scrollLeft):e.pageX, y:isIE?e.clientY+Math.max(document.body.scrollTop, document.documentElement.scrollTop):e.pageY};}
window.vWinZIndex = 1;
function vDrag(o,ho,initArr){
ho=ho||o;
o.style.position="absolute";
if(!isIE){ho.firstChild.onmousedown=function(){return false;}}
ho.onmousedown=function(a){
o.style.zIndex = window.vWinZIndex;
window.vWinZIndex++;
var d=document;if(!a)a=window.event;
var x=a.layerX?a.layerX:a.offsetX,y=a.layerY?a.layerY:a.offsetY;
if(ho.setCapture)
ho.setCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
d.onmousemove=function(a){
if(!a)a=window.event;
var mus=getMouseCoords(a)
if(!a.pageX)a.pageX=mus.x;
if(!a.pageY)a.pageY=mus.y;
var tx=a.pageX-x,ty=a.pageY-y;
if(initArr){
o.style.left=(tx<initArr[0]?initArr[0]:tx>initArr[2]?initArr[2]:tx)+"px";
o.style.top=(ty<initArr[1]?initArr[1]:ty>initArr[3]?initArr[3]:ty)+"px";
}else{
o.style.left = tx+"px";
o.style.top = ty+"px";
}
};
d.onmouseup=function(){
if(ho.releaseCapture)
ho.releaseCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
d.onmousemove=null;
d.onmouseup=null;
};
};
}
function createWebWindow(o,intW,intH){
o.style.zIndex = window.vWinZIndex;
window.vWinZIndex++;
var winSelf = o.childNodes[0];
var winTitle = o.childNodes[0].childNodes[0];
var winContent = o.childNodes[0].childNodes[1];
var winDbox = o.childNodes[0].childNodes[2];
var minW =50,minH = 40;
var _self = this;
//
var wX = winSelf.offsetWidth-winContent.offsetWidth;
var wH = winSelf.offsetHeight-winContent.offsetHeight;
//
winDbox.onmousedown = function(e){
o.style.zIndex = window.vWinZIndex;
window.vWinZIndex++;
var d=document;if(!e)e=window.event;
var x=e.layerX?e.layerX:e.offsetX,y=e.layerY?e.layerY:e.offsetY;
var MCD=window.getMouseCoords(e)
winSelf.startX=MCD.x;
winSelf.startY=MCD.y;
winSelf.startW=winSelf.offsetWidth;
winSelf.startH=winSelf.offsetHeight;
//
if(winDbox.setCapture)
winDbox.setCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
d.onmousemove =function(e){
if(!e)e=window.event;
var mus=getMouseCoords(e)
var newW = (winSelf.startW +(mus.x-winSelf.startX));
var newH = (winSelf.startH +(mus.y-winSelf.startY))
resizeWin(newW,newH);
}
d.onmouseup=function(){
if(winDbox.releaseCapture)
winDbox.releaseCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
d.onmousemove=null;
d.onmouseup=null;
}
}
function resizeWin(newW,newH){
newW = newW < minW?minW:newW;
newH = newH < minH?minH:newH;
winSelf.style.width = newW+"px";
winSelf.style.height = newH+"px";
//
winTitle.style.width = isIE?newW+"px":(newW-4)+"px";
//
winContent.style.width = (newW-wX)+"px";
winContent.style.height = (newH-wH)+"px";
}
{
resizeWin(intW,intH);
vDrag(o,winTitle);
}
}
createWebWindow($("testWinA"),300,75);
createWebWindow($("testWinB"),300,100);
</script>
分享到:
评论

相关推荐

    可拖动div边框改变大小的方法

    可拖动div边框改变大小的方法,jquery拖拽改变div大小效果,。。。。。。。。。。。。。。。。。。。。。。。。。

    html 拖动div进行相应顺序的排序,亲测可用,简单方便

    这个功能允许用户通过拖动div元素来改变它们在页面上的顺序,从而实现自定义排序。 首先,HTML(超文本标记语言)是网页的基础结构语言,它定义了网页的各个部分,如标题、段落、链接等。在拖放排序的场景中,HTML...

    php+mysql+js拖拽div实例

    **PHP + MySQL + JS 拖拽Div实例详解** 在Web开发中,用户交互性是提升用户体验的关键因素之一。拖拽功能(Drag and Drop)可以让用户通过鼠标直接操作页面元素,增强了网页的互动性。本实例将介绍如何使用PHP、...

    js拖动div并拖动DIV的大小

    以上就是实现“js拖动div并拖动DIV的大小”的主要步骤和涉及的技术。实际开发中,你可以选择使用库或框架,如jQuery UI的Resizable组件,来简化这一过程。然而,理解这些基础知识将帮助你更好地理解和定制功能,特别...

    拖动div的四个拐角改变其大小

    标题“拖动div的四个拐角改变其大小”所描述的就是这样一个功能,允许用户通过拖动div的四个角来动态调整div的宽度和高度。 实现这个功能通常会涉及到JavaScript库,例如jQuery。jQuery是一个广泛使用的JavaScript...

    asp.net中实现可拖动div

    在ASP.NET中实现一个可拖动的div是提高用户界面交互性和用户体验的有效方式,尤其当需要替代传统的alert对话框时,可拖动div能提供更加灵活和友好的用户体验。 首先,要实现可拖动的div,我们需要理解HTML和CSS的...

    js拖拽div随意摆放

    在JavaScript(js)中,实现div元素的拖拽功能是一项常见的需求,这通常涉及到用户交互和DOM操作。本文将深入探讨如何使用JavaScript实现这个功能,让div元素可以在页面上自由移动,实现“js拖拽div随意摆放”。 ...

    javascript浮动div,可拖拽div,遮罩层(div和iframe实现)

    可拖拽 Div 指的是用户可以手动拖动 Div 在页面中的位置。这一功能通常采用原生 JavaScript 实现。 #### 实现步骤 1. **绑定事件监听器**:为 Div 绑定 `mousedown` 事件,当用户按下鼠标左键时触发。 2. **获取...

    拖拽div的源码

    这个"拖拽div的源码"是一个关于如何利用HTML5、JavaScript技术实现可拖动div元素的示例。接下来,我们将深入探讨这个主题,包括相关的核心概念、实现原理以及代码实践。 首先,我们要理解HTML5中的`draggable`属性...

    鼠标拖动DIV,DIV移动后加载后台JSON数据

    在网页开发中,实现鼠标拖动DIV元素并根据其移动位置动态加载后台JSON数据是一项常见的交互功能。这个功能可以用于创建可自定义布局的界面、拖放式编辑器或者地图等应用。以下是对这一技术的详细说明: 首先,我们...

    JS实现鼠标拖动div移动(附效果演示).zip

    在JavaScript中,实现鼠标拖动div移动的效果是前端开发中常见的交互设计,它涉及到DOM操作、事件处理以及坐标计算等多个知识点。以下将详细介绍这个过程。 首先,我们需要理解`div`在HTML中的作用。`div`元素是块级...

    兼容IE与火狐的拖动div效果

    本文将详细讲解如何实现一个兼容IE和Firefox的拖动div效果。 首先,我们需要了解两种浏览器对拖放事件的支持情况。Internet Explorer(IE)从版本5.5开始支持DOM级别的拖放,而Firefox则从版本3.5开始支持W3C标准的...

    js弹出可拖动div

    这个"js弹出可拖动div"的主题主要涵盖了HTML、CSS和JavaScript的结合,用于实现用户友好的界面元素。下面我们将深入探讨这个主题。 首先,我们需要一个基本的HTML结构来创建div元素。一个简单的div可能看起来像这样...

    jQueryUI拖拽效果_拖拽div的值到table表格里面

    &lt;div class="draggable-div"&gt;待拖动的值&lt;/div&gt; &lt;tr&gt;&lt;th&gt;列标题&lt;/th&gt;&lt;/tr&gt; ``` 4. **CSS样式**: 为了提高用户体验,通常需要为可拖动的div和可放置的区域添加适当的CSS样式,以突出其状态,如悬停时...

    拖动div到另一个div中

    标题“拖动div到另一个div中”描述的就是这样一个功能,即实现一个div元素能够被拖动并放置到另一个div内,同时显示被拖动div的ID。这个功能在各种应用场景中都很有用,如文件管理器、布局构建器或富文本编辑器等。 ...

    jQuery可拖拽DIV页面

    本项目“jQuery可拖拽DIV页面”利用jQuery及其扩展插件jQuery UI,实现了一个用户界面元素(如div)可以被拖动的功能,从而为用户提供更直观的交互体验。以下是对这个知识点的详细讲解: 1. **jQuery基础**:jQuery...

    复制并拖拽Div

    通常,这样的资源可能包括HTML文件(包含`&lt;div&gt;`元素和事件监听器)、CSS文件(用于样式设计)和JavaScript文件(实现复制、拖动和编辑功能)。通过学习和理解这些代码,开发者可以掌握如何在实际项目中应用这些技术...

    js写的批量拖拽div

    在JavaScript和jQuery的世界里,实现批量拖拽div是一项常见的交互设计任务,这主要涉及到DOM操作、事件监听以及坐标计算等多个知识点。在这个项目中,我们首先需要理解如何创建和添加div,然后实现批量选择功能,...

    js拖动、拖拽div大小,完美实现版

    js拖动 拖拽div大小,内部随意文件操作。完美实现版

    可拖动div层,兼容IE火狐等浏览器

    "可拖动div层"是这样的一个功能,它允许开发者创建一个浮动且可操作的div元素,通常用于弹出式窗口、对话框或者提示信息。这个功能在jQuery库的支持下,可以实现跨浏览器的兼容性,包括Internet Explorer(IE)、...

Global site tag (gtag.js) - Google Analytics