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 相关文章推荐
JS面向对象编程之对象使用分析
Aug 19 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
Mar 27 Javascript
javascript数组遍历for与for in区别详解
Dec 04 Javascript
关于js里的this关键字的理解
Aug 17 Javascript
JavaScript字符串常用的方法
Mar 10 Javascript
JavaScript制作简单的日历效果
Mar 10 Javascript
JavaScript预解析及相关技巧分析
Apr 21 Javascript
使用vue.js实现联动效果的示例代码
Jan 10 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
Sep 02 Javascript
记录vue项目中遇到的一点小问题
May 14 Javascript
JS寄快递地址智能解析的实现代码
Jul 16 Javascript
js实现简单扫雷
Nov 27 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
日本十大惊悚动漫
2020/03/04 日漫
PHP下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
Symfony学习十分钟入门经典教程
2016/02/03 PHP
PHP编程中尝试程序并发的几种方式总结
2016/03/21 PHP
浅谈php://filter的妙用
2019/03/05 PHP
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
分享10篇优秀的jQuery幻灯片制作教程及应用案例
2011/04/16 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
js实现超酷的照片墙展示效果图附源码下载
2015/10/08 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
2017/11/10 Javascript
Node.js笔记之process模块解读
2018/05/31 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
Python编程中装饰器的使用示例解析
2016/06/20 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
Python制作词云图代码实例
2019/09/09 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
北京银河万佳Java面试题
2012/03/21 面试题
大一学生假期实习的自我评价
2013/10/12 职场文书
技校生自我鉴定
2013/12/08 职场文书
大学毕业感言100字
2014/02/03 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
如何在向量化NumPy数组上进行移动窗口
2021/05/18 Python