jquery 可拖拽的窗体控件实现代码


Posted in Javascript onMarch 21, 2010

所以要引入JQUERY框架。
把我的这个控件代码放到一个js文件里面直接引入就可以了
控件代码

$.fn.myDrag = function() { 
var self = $(this); 
self.css("position", "absolute"); 
var p = self.position(); 
self.css({ left: p.left, top: p.top }); 
self.mousedown( 
function(event) { 
// debugger; 
self.data("ifDary", "true"); //保存状态,表示是否可以拖拽 
// debugger; 
var selfLeft = event.pageX - parseInt(self.css("left")); //计算出鼠标到这个元素的left 
var selfTop = event.pageY - parseInt(self.css("top")); //计算出鼠标到这个元素的top 
self.data("selfLeft", selfLeft); //保存坐标信息 
self.data("selfTop", selfTop); 
} 
); 
$(document).mouseup( 
function() { 
self.data("ifDary", "false"); 
//防止窗体飞到外面去 
var bWidth = $(window).width(); 
var bHeight = $(window).height(); 
var currentleft = parseInt(self.css("left")); 
var currenttop = parseInt(self.css("top")); 
if (currentleft <= 0) 
currentleft = 0; 
if (currentleft >= bWidth) 
currentleft = bWidth - self.width(); 
if (currenttop <= 0) 
currenttop = 0; 
if (currenttop >= bHeight) 
currenttop = bHeight - self.height(); 
self.css({ left: currentleft, top: currenttop }); 
} 
); 
$(document).mousemove(function(event) { 
var state = self.data("ifDary"); 
if (state && state == "true") { 
var selfLeft = event.pageX - parseInt(self.data("selfLeft")); //计算这个元素的left位置 
var selfTop = event.pageY - parseInt(self.data("selfTop")); 
self.css({ left: selfLeft, top: selfTop }); //设置这个元素的位置 
} 
}); 
return self; 
}

javascript代码
<script src="../script/jquery-1.3.2.js" type="text/javascript"></script> //这个是JQUERY框架,没有的自己搜索去到处都是,一脚踩一堆 
<script src="myDrag.js" type="text/javascript"></script> //这个是我的那个控件代码 
<script type="text/javascript"> 
$(function() { 
$("#div1").myDrag(); 
}); 
</script>

HTML代码
<div id="div1" style="background-color: Red; height: 100px; width: 100px;"> 
点击拖我吧 
</div>
Javascript 相关文章推荐
JavaScript 格式字符串的应用
Mar 29 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
Oct 23 Javascript
JavaScript事件用法浅析
Oct 31 Javascript
微信小程序网络请求wx.request详解及实例
May 18 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
May 25 jQuery
mui开发中获取单选按钮、复选框的值(实例讲解)
Jul 24 Javascript
Nuxt.js之自动路由原理的实现方法
Nov 21 Javascript
使用RxJS更优雅地进行定时请求详析
Jun 02 Javascript
javascript中call,apply,callee,caller用法实例分析
Jul 24 Javascript
浅谈关于vue中scss公用的解决方案
Dec 02 Javascript
es6函数之尾调用优化实例分析
Apr 25 Javascript
Vue 根据条件判断van-tab的显示方式
Aug 03 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 #Javascript
javascript qq右下角滑出窗口 sheyMsg
Mar 21 #Javascript
js 居中漂浮广告
Mar 21 #Javascript
jquery checkbox,radio是否选中的判断代码
Mar 20 #Javascript
javascript中的new使用
Mar 20 #Javascript
javascript 操作select下拉列表框的一点小经验
Mar 20 #Javascript
js 格式化时间日期函数小结
Mar 20 #Javascript
You might like
用Socket发送电子邮件
2006/10/09 PHP
发布一个用PHP fsockopen写的HTTP下载的类
2007/02/22 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
2014/12/18 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
php验证码生成器
2017/05/24 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
基于Python的身份证号码自动生成程序
2014/08/15 Python
编写Python脚本批量下载DesktopNexus壁纸的教程
2015/05/06 Python
浅谈对yield的初步理解
2017/05/29 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
关于python中密码加盐的学习体会小结
2019/07/15 Python
python 命令行传入参数实现解析
2019/08/30 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
商铺消防安全责任书
2014/07/29 职场文书
关于十八大的演讲稿
2014/09/15 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
canvas多重阴影发光效果实现
2021/04/20 Javascript
Python竟然能剪辑视频
2021/05/25 Python
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle
React Fragment介绍与使用详解
2021/11/11 Javascript