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 相关文章推荐
经典的带阴影的可拖动的浮动层
Jun 26 Javascript
效率高的Javscript字符串替换函数的benchmark
Aug 02 Javascript
jQuery cdn使用介绍
May 08 Javascript
js函数获取html中className所在的内容并去除标签
Sep 08 Javascript
javascript屏蔽右键代码
May 15 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
Oct 10 Javascript
JQuery datepicker 用法详解
Dec 25 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
Jan 23 Javascript
js 提交form表单和设置form表单请求路径的实现方法
Oct 25 Javascript
JavaScript门道之标准库
May 26 Javascript
Vue项目history模式下微信分享爬坑总结
Mar 29 Javascript
微信小程序吸底区域适配iPhoneX的实现
Apr 09 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
php array_slice函数的使用以及参数详解
2008/08/30 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
js实现分割上传大文件
2016/03/09 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
微信小程序 基础知识css样式media标签
2017/02/15 Javascript
Vue 页面跳转不用router-link的实现代码
2018/04/12 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
python实现简单ftp客户端的方法
2015/06/28 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
Python高级property属性用法实例分析
2019/11/19 Python
python实现密码验证合格程序的思路详解
2020/06/01 Python
python爬虫容易学吗
2020/06/02 Python
Keras设置以及获取权重的实现
2020/06/19 Python
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
Linux的文件类型
2012/03/07 面试题
财务部总监岗位职责
2014/03/12 职场文书
质量承诺书范文
2014/03/27 职场文书
软件售后服务方案
2014/05/29 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
2015年城管执法工作总结
2015/07/23 职场文书