实现小窗口拖拽的效果

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #2b7ec3 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; min-height: 36.0px }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #d74200 }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #289c97 }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #4a8a01 }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #060606 }
p.p7 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #4f5d66 }
p.p8 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #a5b2b9 }
p.p9 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #e48b00 }
p.p10 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #698906 }
span.s1 { color: #4f5d66 }
span.s2 { color: #2b7ec3 }
span.s3 { color: #48565d }
span.s4 { color: #289c97 }
span.s5 { color: #d74200 }
span.s6 { color: #000000 }
span.s7 { color: #060606 }
span.s8 { color: #929151 }
span.s9 { color: #ad42ef }
span.s10 { color: #698906 }
span.s11 { color: #4a8a01 }
span.s12 { color: #d16400 }
span.s13 { color: #4663cc }
span.s14 { color: #b58a00 }
span.Apple-tab-span { white-space: pre }

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

#box {

height: 300px;

width: 300px;

background-color: green;

position: absolute;

}

</style>

</head>

<body>

<div id="box">

</div>

</body>

<script type="text/javascript">

var box = document.getElementById("box");

//鼠标按下的函数

box.onmousedown = function(ev) {

var oEvent = ev || event;

//求出鼠标和box的位置差值

var x = oEvent.clientX - box.offsetLeft;

var y = oEvent.clientY - box.offsetTop;

//鼠标移动的函数

//把事件加在document上,解决因为鼠标移动太快时,

//鼠标超过box后就没有了拖拽的效果的问题

document.onmousemove = function(ev) {

var oEvent = ev || event;

//保证拖拽框一直保持在浏览器窗口内部,不能被拖出的浏览器窗口的范围

var l = oEvent.clientX - x;

var t = oEvent.clientY - y;

if(l < 0) {

l = 0;

} else if(l > document.documentElement.clientWidth - box.offsetWidth) {

l = document.documentElement.clientWidth - box.offsetWidth;

}

if(t < 0) {

t = 0;

} else if(t > document.documentElement.clientHeight - box.offsetHeight) {

t = document.documentElement.clientHeight - box.offsetHeight;

}

box.style.left = l + "px";

box.style.top = t + "px";

}

//鼠标抬起的函数

document.onmouseup = function() {

document.onmousemove = null;

document.onmouseup = null;

}

//火狐浏览器在拖拽空div时会出现bug

//return false阻止默认事件,解决火狐的bug

return false;

}

</script>

</html>

时间: 2024-10-13 11:30:37

实现小窗口拖拽的效果的相关文章

小窗口拖拽(只控制标题栏哦)

<!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-Typ

iPhone手机解锁效果&amp;&amp;自定义滚动条&amp;&amp;拖拽--Clone&amp;&amp;窗口拖拽(改变大小/最小化/最大化/还原/关闭)

<!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-

利用jQuery UI为CMS网站实现拖拽布局效果,秒杀table布局

1 实现效果 对于使用过CMS系统制作网站的人应该都清楚,制作网站过程有一个重要的步骤就是制作页面布局.目前,实现页面布局有两种方式:table与div.这两种方式各有其优劣之处. Table: 优势:使用简单,使用表格进行布局顺理成章,概念和效果图理解起来很简单,制作也方便. 劣势:表格布局比较固定,布局效果控制的比较死,一些较为特殊的效果.层叠效果等比较难以实现. Div: 优势:布局效果灵活,div能轻易的控制布局位置,浮动效果等. 劣势:操作较为复杂,需要前端布局设计人员对div的特性.

Android中GridView拖拽的效果

最 近看到联想,摩托罗拉等,手机launcher中有个效果,进入mainmenu后,里面的应用程序的图标可以拖来拖去,所以我也参照网上给的代码,写了 一个例子.还是很有趣的,实现的流畅度没有人家的那么好,我只是模仿这种效果,我写的这个拖拽是两个图标之间进行交换,所以,当从一行的某个位置,换到下 一行的另一列的时候,发现有好几个图标都改变位置了,因为是相邻两个交换位置,所以每经过相邻的图标的时候都改变位置.先弄个雏形,以后再更新优化. 转载请标明出处:http://blog.csdn.net/wd

ToolStrip控件左右拖拽移动效果实现

1.主窗体下部添加一个Panel乘放ToolStrip控件以实现ToolStrip在窗体下部定位.2.当ToolStrip控件中子控件超出屏幕时,拖动控件可以实现滑动效果.拖动到控件边缘距窗体边缘1/3宽度时(可设),自动回弹.拖动控件边缘在屏幕内时释放鼠标,控件自动回弹,边缘吸附窗体边缘.3.当ToolStrip控件中子控件数目较少可以在屏幕上完全显示时,拖动效果不可见.4.增加 添加.删除 按钮,点击时可增删一个ToolStripButton,方便拖动效果可见(ToolStrip控件中子控件

nw.js FrameLess Window下的窗口拖拽与窗口大小控制

nw.js FrameLess Window下的窗口拖拽与窗口大小控制 很多时候,我们觉得系统的Frame框很难看,于是想自定义. 自定义Frame的第一步是在package.config文件中将frame选项设置为false. { "name": "1", "main": "index.html", "nodejs": true, "single-instance": false, &

excel 应用,右下角的小十字拖拽的时候形成递减的数列

excel 应用,右下角的小十字拖拽的时候形成递减的数列 2012-12-20 15:16无良小鬼 | 浏览 352 次 比如说我想要这样一列数字201220112010……这样递减的数列,而不是递增的数列,拖拽可以实现吗?嗯了ctrl只能是复制. 2012-12-20 15:28 提问者采纳 按CTRL拖动一个是复制. 选择的时候框选两个或两个以上,如:20122011直接鼠标左键拖动,为递减1,同理,如果是2012,2010,后面就是递减2.想实现递增也可以.

窗口拖拽(改变大小/最小化/最大化/还原/关闭)

<!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-Typ

2.2.4、用jwplayer实现youku可拖拽播放效果(nginx,yamdi)

Yamdi,为flv/mp4视频添加关键帧 1.解压下载的文件tar –zxvf yamdi-1.8.tar.gz 2.进入解压后的目录cd yamdi-1.8. 3.编译并安装 make && make install 4.使用该软件为视频添加关键帧信息实现拖动效果 具体使用方法如下yamdi -i input.mp4 -o out.mp4 Nginx需要加如下配置 location ~ \.flv$ { flv; } 如果要限制带宽和第一次下载量可加如下参数 limit_rate_af