Div的移动

//JQuery 拖拽本体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>无标题文档</title>
<style>
#Dialog {
width:200px;
background:#CCC;
border:solid 1px #666;
height:80px;
line-height:80px;
text-align:center;
position:absolute;
}
</style>
<script src="jquery-1.10.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
DivertDialog($(‘#Dialog‘));
});

var DivertDialog = function (obj) {
var offsetX = obj.offset().left;
var offsetY = obj.offset().top;
obj.mousedown(function () {
obj.css(‘cursor‘, ‘move‘);
bool = true;
var offsetX = event.offsetX;
var offsetY = event.offsetY;
obj.bind("mousemove", function () {
if (bool) {
var x = event.clientX - offsetX;
var y = event.clientY - offsetY;
obj.css(‘left‘, x);
obj.css(‘top‘, y);
}
});
}).mouseup(function () {
obj.css(‘cursor‘, ‘default‘);
obj.unbind("mousemove");
});
};

</script>
</head>

<body>
<div id="Dialog" style="float:left">拖拽层</div>
</body>
</html>

//JQuery 拖拽DIV,相当于重新复制了一个,原来的DIV不动,而对clone的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>无标题文档</title>

<style>

#Drigging1 {

width:200px;

background:#CCC;

border:solid 1px #666;

height:80px;

line-height:80px;

text-align:center;

position:absolute;

}

#Drigging2 {

width:200px;

background:#CCC;

border:solid 1px #666;

height:80px;

line-height:80px;

text-align:center;

position:absolute;

left: 16px;

top: 105px;

}

</style>

<script src="Jquery-1-5-2.js" type="text/javascript"></script>

<script type="text/javascript">

$(function(){

var cloneDiv="";

var bool=false;  //标识是否移动元素

var offsetX=0;  //声明DIV在当前窗口的Left值

var offsetY=0;  //声明DIV在当前窗口的Top值

function clones()

{

cloneDiv = $("#Drigging").clone(true).appendTo("body");

}

$("#Drigging div").mouseover(function(){

$(this).css(‘cursor‘,‘move‘);//当鼠标移动到拖拽的DIV上的时候,将鼠标的样式设置为移动(move)

})

$("#Drigging div").mousedown(function(){

bool=true;  //当鼠标在移动元素按下的时候将bool设定为true

offsetX = event.offsetX;//获取鼠标在当前窗口的相对偏移位置的Left值并赋值给offsetX

offsetY = event.offsetY; //获取鼠在当前窗口的相对偏移位置的Top值并赋值给offsetY

$(this).css(‘cursor‘,‘move‘);

if($(this).attr("class") == "clones")

{

cloneDiv = $(this);

}else

{

cloneDiv = $(this).clone(true).addClass("clones").appendTo("body");

}

//setTimeout("clones()",1000);

}).mouseup(function(){

bool=false;////当鼠标在移动元素起来的时候将bool设定为false

})

$(document).mousemove(function(){

if(!bool)//如果bool为false则返回

return;

//当bool为true的时候执行下面的代码

var x = event.clientX-offsetX; //event.clientX得到鼠标相对于客户端正文区域的偏移,然后减去offsetX即得到当前推拽元素相对于当前窗口的X值(减去鼠标刚开始拖动的时候在当前窗口的偏移X)

var y = event.clientY-offsetY; //event.clientY得到鼠标相对于客户端正文区域的偏移,然后减去offsetX即得到当前推拽元素相对于当前窗口的Y值(减去鼠标刚开始拖动的时候在当前窗口的偏移Y)

cloneDiv.css({left:x,top:y});

//$("#Drigging").css("left", x);

// $("#Drigging").css("top", y);

$("#Drigging").css(‘cursor‘,‘move‘);

})

})

</script>

</head>

<body>

<div id="Drigging">

<div id="Drigging1" style="float:left">拖拽层</div>

<div id="Drigging2" style="float:left">拖拽层1</div>

</div>

</body>

</html>

时间: 2024-08-28 07:30:25

Div的移动的相关文章

移动端俩个DIV切换,上滑加载

<!doctype html><html lang="zh-cn"><head> <meta name="viewport" content="initial-scale=1, user-scalable=0, minimal-ui" charset="gbk"> <title>随访计划与随访记录app</title> <style> *{ m

深度理解div+css布局嵌套盒子

1. 网页布局概述 网页布局的概念是把即将出现在网页中的所有元素进行定位,而CSS网页排版技术有别于传统的网页排版方法,它将页面首先在整体上使用<div>标记进行分块,然后对每个快进行CSS定位以及设置显示效果,最后在每个块中添加相应的内容.利用CSS排版方法更容易地控制页面每个元素的效果,更新也更容易,甚至页面的拓扑结构也可以通过修改相应的CSS属性来重新定位.  2. 盒子模型 盒子模型是CSS控制页面元素的一个重要概念,只有掌握了盒子模型,才能让CSS很好地控制页面上每一个元素,达到我们

现在主流网站为什么都用div+css布局而不是用table

由于刚刚接触前端,一直觉得table布局在代码上看起来比div+css更整洁,div+css布局的页面,一堆的<div><div><div>...</div></div></div>看起来都让人犯密集恐惧症,那么为什么现在的主流网站还都乐此不疲呢?为什么div+css反而成了一种主流布局方式呢?一直对此不解.这篇文章好像是解决了我的问题,先摘录过来,以便查阅. 以下内容摘自:http://www.divcss5.com/wenji/w

div与 css--绝对定位和相对定位

<10-页面美化专题-div和css基础.avi> Border-topPadding-topMargin-topFloat Position #clear{Both:clear;}//浮动 float为了不影响后面的 语句#son2{position:relative; //没有脱离文档流left:60%;} position :absolute;left:0px;绝对定位 就脱离了文档 子的绝对定位:要看爸爸是否有相对定位:如果有就相对爸爸的边框,如果没有就相对浏览器的定位了:

&lt;!DOCTYPE html&gt;声明下div高度100%的问题

在使用HTML代码创建网页,如果声明了<!DOCTYPE html>,并且在代码中有div设置了高度为100%,可能会出现显示不正常的情况.比如下面这个代码: <!DOCTYPE HTML> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Title</title>     <style type=&q

关于css+div布局的疑问 2017-03-19

第一次布局一个静态网页,发现许多细节都需要自己探索,出现诸如以下问题: 1.布局问题:经常出现一个div被挤出来?做到一半少一个div布局? 布局之前,要点打好框架,明确每个地方的高宽是多少,争取精确到每一像素(是否含有边框像素):但是,在纸上花的草图再好再精确,也需要实际操练. 2.定位问题:明明都定位了,为什么还出现div布局混乱的现象? (未解)为什么可以通过设置margin-left/right的值为负数可以解决,但是在其他浏览器显示效果仍错误? 3.div中图片的定位,为什么按照理论设

让div撑满整个屏幕的方法(css)

在body只有一个div的时候,可以通过这样的方式让div撑满整个屏幕. 1.给div设置定位. 复习一下-- css中position有五种属性: static:默认值,没有定位 absolute:绝对定位,相对于父级元素进行定位 relative:相对定位 fixed:固定定位,相对于浏览器窗口进行定位 inherit:从父元素继承定位信息 除了默认值static和inherit之外,添加其他三种都可以实现窗口自适应. 代码如下: 1 <style> 2 *{ 3 margin: 0; 4

div+css感悟

div+css感觉很简单,可是真正做起来一些小细节把握不好,这个网页的布局也是完成不了的.今天学习了一些技巧方法现在分享下: 即一个原则,网页由一个个的大盒子组成,一个个的大盒子里面装着一个个的小盒子.先衡量好大盒子的尺寸,才好确定小盒子的大小. 大盒子包含小盒子,大的盒子必须又小的盒子组成,一个模块不能只有小盒子,要由大盒子来包装.所以先设定大盒子的宽度,高度可以设置,也可以不设置,再设置小盒子的具体信息. 1.现在的网页布局都是采用盒子模型,即网页由一个个div来构成的,div包含着很多di

div水平居中

1.先给它外层的div定位并left:position:absolute;left:50%; 2.获取当前元素div的宽度,并除以2 3.改变它的css:margin-left:-(获取当前元素div的宽度除以2). function width(obj){ obj.each(function(){ var pagingWidth=$(this).width(); //分页div水平居中 $(this).css('margin-left',-pagingWidth/2); }); } width

关于&lt;/div&gt;的粗浅理解

</div>作为c#中常用的一个标签,在写多个区域的内容时有着十分重要的作用.如果写简单的网页时不用div可能感受不到太大的影响,但是在写较为复杂的程序时div的分隔作用就很明显了,改动大块中的内容也会变得更简单.打个比方,div好比一个空的纸箱子,block-level中的内容就是箱子里装的东西,一些箱子共同组成了一摞摆放整齐的箱子,就是我们写好的程序.当你想修改block-level中的内容时,只需要找到它所在的箱子,修改里面的内容或者箱子上的标签(相当于一些基本属性)就好了,是不是很方便