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 相关文章推荐
jQuery中:reset选择器用法实例
Jan 04 Javascript
javascript动态创建表格及添加数据实例详解
May 13 Javascript
js+html5绘制图片到canvas的方法
Jun 05 Javascript
JavaScript数组迭代器实例分析
Jun 09 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
Nov 24 Javascript
解决Extjs下拉框不显示的问题
Jun 21 Javascript
20170918 前端开发周报之JS前端开发必看
Sep 18 Javascript
vue.js  父向子组件传参的实例代码
Oct 29 Javascript
js中对象和面向对象与Json介绍
Jan 21 Javascript
JS事件循环机制event loop宏任务微任务原理解析
Aug 04 Javascript
jQuery实现查看图片功能
Dec 01 jQuery
vue 计算属性和侦听器的使用小结
Jan 25 Vue.js
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
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
2015/11/01 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
2015/11/30 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python切换hosts文件代码示例
2013/12/31 Python
python制作企业邮箱的爆破脚本
2016/10/05 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
python os模块简单应用示例
2019/05/23 Python
利用Python绘制Jazz网络图的例子
2019/11/21 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
Python尾递归优化实现代码及原理详解
2020/10/09 Python
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
入团者的自我评价分享
2013/12/02 职场文书
营销人才自我鉴定范文
2013/12/25 职场文书
新书吧创业计划书
2014/01/31 职场文书
公务员转正考察材料
2014/02/07 职场文书
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
小学清明节活动方案
2014/03/08 职场文书
项目采购员岗位职责
2014/04/15 职场文书
2015大学生实训报告
2014/11/05 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
如何使用python包中的sched事件调度器
2022/04/30 Python