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 相关文章推荐
分析Node.js connect ECONNREFUSED错误
Apr 09 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
Nov 07 Javascript
深入理解Javascript里的依赖注入
Mar 19 Javascript
Js可拖拽放大的层拖动特效实现方法
Feb 25 Javascript
javascript中Date format(js日期格式化)方法小结
Dec 17 Javascript
jQuery动画效果图片轮播特效
Jan 12 Javascript
Angular学习笔记之angular的$filter服务浅析
Nov 12 Javascript
微信小程序 常用工具类详解及实例
Feb 15 Javascript
angular过滤器实现排序功能
Jun 27 Javascript
Vue侦测相关api的实现方法
May 22 Javascript
React倒计时功能实现代码——解耦通用
Sep 18 Javascript
Vue实现动态查询规则生成组件
May 27 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默认安装产生系统漏洞
2006/10/09 PHP
PHP HTML代码串截取代码
2008/12/29 PHP
PHP5 字符串处理函数大全
2010/03/23 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
一个基于phpQuery的php通用采集类分享
2014/04/09 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
PHP封装的简单连接MongoDB类示例
2019/02/13 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
jQuery源码分析之Event事件分析
2010/06/07 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
解析vue中的$mount
2017/12/21 Javascript
js操作二进制数据方法
2018/03/03 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
Python中文件操作简明介绍
2015/04/13 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
小学毕业感言150字
2014/02/05 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
交通文明倡议书
2014/05/16 职场文书
廉洁教育学习材料
2014/05/19 职场文书
铁路安全反思材料
2014/12/24 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
python 制作一个gui界面的翻译工具
2021/05/14 Python