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实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
Apr 20 Javascript
jQuery获取注册信息并提示实现代码
Apr 21 Javascript
jQuery实现360°全景拖动展示
Mar 18 Javascript
jQuery标签编辑插件Tagit使用指南
Apr 21 Javascript
总结Node.js中的一些错误类型
Aug 15 Javascript
angular学习之从零搭建一个angular4.0项目
Jul 10 Javascript
浅谈react前后端同构渲染
Sep 20 Javascript
Vue组件开发技巧总结
Mar 04 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
Apr 25 Javascript
微信小程序input框中加入小图标的实现方法
Jun 19 Javascript
webpack 最佳配置指北(推荐)
Jan 07 Javascript
Vue实现PC端靠边悬浮球的代码
May 09 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
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
php eval函数用法总结
2012/10/31 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
2013/06/03 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
浅析PHP的静态成员函数效率更高的原因
2014/06/13 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
多种方法实现JS动态添加事件
2013/11/01 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
JavaScript使用indexOf获得子字符串在字符串中位置的方法
2015/04/06 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
零基础写python爬虫之使用urllib2组件抓取网页内容
2014/11/04 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
python面试题小结附答案实例代码
2019/04/11 Python
Python简易版停车管理系统
2019/08/12 Python
Python笔试面试题小结
2019/09/07 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
Python中的整除和取模实例
2020/06/03 Python
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
校园摄影活动策划方案
2014/02/05 职场文书
节电标语大全
2014/06/23 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android