Jquery实现自定义窗口随意的拖拽


Posted in Javascript onMarch 12, 2014

在网页上我们经常看到,当点击一个按钮时,弹出一个自定义窗口,并且可以随意的拖拽,从而改变其位置

使用jquery实现拖拽,则必须要jquery的文件了,实现步骤:

1、引入jquery文件

2、编写js脚本

具体代码:

html代码:

<button id="show">显示</button> 
<div class="win"> 
<div class="wTop"><p style="float:right;margin:5px 5px 0px 0px;color:white" id="hidden">X</p></div> 
<div class="content"></div> 
</div>

css样式:
<style type="text/css"> 
.win{width:500px;height:600px;background:#000000;border-radius:8px;box-shadow:0px 0px 5px 10px;opacity:0.8;position:absolute;left:0;top:0;display:none} 
.win .wTop{height:30px;width:100%;cursor:move} 
.win .content{height:570px;width:100%;border-radius:5px;background:white} 
</style>

js脚本:
<script language="javascript" type="text/javascript"> 
$(function(){ 
//拖拽 
dragAndDrop(); 
//初始化位置 
initPosition(); 
//点击按钮 
clickShowBtn(); 
}); 
//拖拽 
function dragAndDrop(){ 
var _move=false;//移动标记 
var _x,_y;//鼠标离控件左上角的相对位置 
$(".wTop").mousedown(function(e){ 
_move=true; 
_x=e.pageX-parseInt($(".win").css("left")); 
_y=e.pageY-parseInt($(".win").css("top")); 
//$(".wTop").fadeTo(20,0.5);//点击开始拖动并透明显示 
}); 
$(document).mousemove(function(e){ 
if(_move){ 
var x=e.pageX-_x;//移动时鼠标位置计算控件左上角的绝对位置 
var y=e.pageY-_y; 
$(".win").css({top:y,left:x});//控件新位置 
} 
}).mouseup(function(){ 
_move=false; 
//$(".wTop").fadeTo("fast",1);//松开鼠标后停止移动并恢复成不透明 
}); 
} 
//初始化拖拽div的位置 
function initPosition(){ 
//计算初始化位置 
var itop=($(document).height()-$(".win").height())/2; 
var ileft=($(document).width()-$(".win").width())/1.8; 
//设置被拖拽div的位置 
$(".win").css({top:itop,left:ileft}); 
} 
//点击显示按钮 
function clickShowBtn(){ 
$("#show").click(function(){ 
$(".win").show(1000); 
}); $("#hidden").click(function(){ 
$(".win").hide(1000); 
}); 
} 
</script>

引入的js文件
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
Javascript 相关文章推荐
JS 继承实例分析
Nov 04 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
Jun 23 Javascript
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
Jan 06 Javascript
jquery实现勾选复选框触发事件给input赋值
Feb 01 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
Dec 10 Javascript
有关JavaScript中call()和apply() 的一些理解
May 20 Javascript
JavaScript toUpperCase()方法使用详解
Aug 26 Javascript
JS使用cookie实现只出现一次的广告代码效果
Apr 22 Javascript
js实现股票实时刷新数据案例
May 14 Javascript
20行JS代码实现网页刮刮乐效果
Jun 23 Javascript
JavaScript 跨域之POST实现方法
May 07 Javascript
vue实现移动端悬浮窗效果
Dec 01 Javascript
Jquery实现自定义弹窗示例
Mar 12 #Javascript
把jQuery的类、插件封装成seajs的模块的方法
Mar 12 #Javascript
使用js检测浏览器是否支持html5中的video标签的方法
Mar 12 #Javascript
利用Keydown事件阻止用户输入实现代码
Mar 11 #Javascript
JavaScript中奇葩的假值示例应用
Mar 11 #Javascript
Javascript加载速度慢的解决方案
Mar 11 #Javascript
js解析json读取List中的实体对象示例
Mar 11 #Javascript
You might like
Email+URL的判断和自动转换函数
2006/10/09 PHP
一个高ai的分页函数和一个url函数
2006/10/09 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
JQuery从头学起第二讲
2010/07/04 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
jquery 使用简明教程
2014/03/05 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
Python下singleton模式的实现方法
2014/07/16 Python
Python基于select实现的socket服务器
2016/04/13 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
python、Matlab求定积分的实现
2019/11/20 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
python @propert装饰器使用方法原理解析
2019/12/25 Python
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
修理厂厂长岗位职责
2014/01/30 职场文书
护理专科自荐书范文
2014/02/18 职场文书
博士生求职信
2014/07/06 职场文书
银行进社区活动总结
2014/07/07 职场文书
民族学专业求职信
2014/07/28 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
信访稳定工作汇报
2014/10/27 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS