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 相关文章推荐
JQery 渐变图片导航效果代码 漂亮
Jan 01 Javascript
JavaScript面向对象设计二 构造函数模式
Dec 20 Javascript
微信小程序 页面之间传参实例详解
Jan 13 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
Mar 09 Javascript
AngularJS实现页面定时刷新
Mar 14 Javascript
JS实现简单获取最近7天和最近3天日期的方法
Apr 18 Javascript
新手快速入门微信小程序组件库 iView Weapp
Jun 24 Javascript
node.js实现简单的压缩/解压缩功能示例
Nov 05 Javascript
JS绘图Flot应用图形绘制异常解决方案
Oct 16 Javascript
echarts浮动显示单位的实现方法示例
Dec 04 Javascript
JavaScript实现滚动加载更多
Dec 27 Javascript
Vue实现圆环进度条的示例
Feb 06 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实现采集抓取淘宝网单个商品信息
2015/01/08 PHP
如何通过Linux命令行使用和运行PHP脚本
2015/07/29 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
JavaScript传递变量: 值传递?引用传递?
2011/02/22 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
JavaScript获取网页表单action属性的方法
2015/04/02 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
2017/07/24 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
利用Three.js如何实现阴影效果实例代码
2017/09/26 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
canvas 绘图时位置偏离的问题解决
2020/09/16 HTML / CSS
美国最大网上鞋店:Zappos
2016/07/25 全球购物
法国奢华女性时尚配饰网上商店:Monnier Frères
2016/08/27 全球购物
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
社区端午节活动方案
2014/01/28 职场文书
高中生职业生涯规划书
2014/02/24 职场文书
社区反邪教工作方案
2014/06/16 职场文书
初级党校心得体会
2014/09/11 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
社区个人对照检查材料(群众路线)
2014/09/26 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
企业投资意向书
2015/05/09 职场文书
起诉意见书范文
2015/05/19 职场文书
运动会通讯稿50字
2015/07/20 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python