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 相关文章推荐
一种JavaScript的设计模式
Nov 22 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
Jun 08 Javascript
JS获取图片高度宽度的方法分享
Apr 17 Javascript
JQuery限制复选框checkbox可选中个数的方法
Apr 20 Javascript
非常实用的12个jquery代码片段
Nov 02 Javascript
jQuery mobile 移动web(4)
Dec 20 Javascript
JavaScript中的this,call,apply使用及区别详解
Jan 29 Javascript
JS打开摄像头并截图上传示例
Feb 18 Javascript
Javascript创建类和对象详解
May 31 Javascript
boostrap模态框二次弹出清空原有内容的方法
Aug 10 Javascript
js实现黑白div块画空心的图形
Dec 13 Javascript
vue实现防抖的实例代码
Jan 11 Vue.js
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 文本文件的读取效率
2012/02/10 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
跟我学Laravel之安装Laravel
2014/10/15 PHP
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
2012/01/21 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
js对象基础实例分析
2015/01/13 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
2015/08/26 Javascript
Node.js实用代码段之正确拼接Buffer
2016/03/17 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
详解Python命令行解析工具Argparse
2016/04/20 Python
ubuntu中配置pyqt4环境教程
2017/12/27 Python
代码分析Python地图坐标转换
2018/02/08 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
解决Tensorboard 不显示计算图graph的问题
2020/02/15 Python
使用sklearn对多分类的每个类别进行指标评价操作
2020/06/11 Python
英格兰足协官方商店:England Store
2019/07/12 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
营销总监岗位职责范本
2014/02/26 职场文书
秦兵马俑导游词
2015/02/02 职场文书
2015年毕业生个人自荐书
2015/03/24 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
2019职场实习报告该怎么写?
2019/07/01 职场文书