<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <title>JQ 拖动代码</title> <link rel="stylesheet" href="base.css" /> <script src="jquery-1.10.1.min.js" ></script> <style type="text/css"> .page{text-align:left;} .dragDiv{border:1px solid #ddd; padding:10px; width:300px; margin:0 auto; border-radius:4px; box-shadow:0 1px 2px #fefefe; position: fixed;} </style> </head> <body> <div class="dragDiv" id="drag"> <div class="drag-head">点击拖动</div> <div class="drag-body"> 一直专注于网站<br/> 网站:<a href="http://onestopweb.cn/" target="_blank">http://onestopweb.cn/</a><br/> 博客:<a href="http://onestopweb.iteye.com/" target="_blank">http://onestopweb.iteye.com/</a> </div> </div> <script> var _drag = {}; _drag.top = 0; //拖动过的位置距离上边 _drag.left = 0; //拖动过的位置距离左边 _drag.maxLeft; //距离左边最大的距离 _drag.maxTop; //距离上边最大的距离 _drag.dragging = false; //是否拖动标志 //拖动函数 function bindDrag(el){ var winWidth = $(window).width(), winHeight =$(window).height(),objWidth = $(el).outerWidth(), objHeight = $(el).outerHeight(); _drag.maxLeft = winWidth - objWidth, _drag.maxTop = winHeight - objHeight; var els = el.style,x=0,y=0; var objTop = $(el).offset().top, objLeft = $(el).offset().left; $(el).mousedown(function(e){ _drag.dragging = true; _drag.isDragged = true; x = e.clientX - el.offsetLeft; y = e.clientY - el.offsetTop; el.setCapture && el.setCapture(); $(document).bind('mousemove',mouseMove).bind('mouseup',mouseUp); return false; }); function mouseMove(e){ e = e || window.event; if(_drag.dragging){ _drag.top = e.clientY - y; _drag.left = e.clientX - x; _drag.top = _drag.top > _drag.maxTop ? _drag.maxTop : _drag.top; _drag.left = _drag.left > _drag.maxLeft ? _drag.maxLeft : _drag.left; _drag.top = _drag.top < 0 ? 0 : _drag.top; _drag.left = _drag.left <0 ? 0 : _drag.left; els.top = _drag.top + 'px'; els.left = _drag.left+ 'px'; return false; } } function mouseUp(e){ _drag.dragging = false; el.releaseCapture && el.releaseCapture(); e.cancelBubble = true; $(document).unbind('mousemove',mouseMove).unbind('mouseup',mouseUp); } $(window).resize(function(){ var winWidth = $(window).width(), winHeight = $(window).height(), el = $(el), elWidth = el.outerWidth(), elHeight = el.outerHeight(), elLeft = parseFloat(el.css('left')), elTop = parseFloat(el.css('top')); _drag.maxLeft = winWidth - elWidth; _drag.maxTop = winHeight - elHeight; _drag.top = _drag.maxTop < elTop ? _drag.maxTop : elTop; _drag.left = _drag.maxLeft < elLeft ? _drag.maxLeft : elLeft; el.css({ top:_drag.top, left:_drag.left }) }) } bindDrag(document.getElementById('drag')); </script> </body> </html>
效果图:
相关推荐
收藏的最好用的jq拖拽代码简单好用有注释一个方法调用,用过多次,重要的说三遍最好用的jq拖拽代码简单好用有注释一个方法调用;最好用的jq拖拽代码简单好用有注释一个方法调用。
在IT行业中,jQuery(通常简称为jq)是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互。本话题主要聚焦于使用jQuery实现拖拽功能,并且扩展到支持双击事件。这在网页设计中非常常见,...
"jq拖拽"指的是利用jQuery实现的拖放功能,这是一种用户交互技术,允许用户通过鼠标或其他输入设备将元素在界面上移动。在网页设计中,拖放功能可以提升用户体验,常见于文件管理器、日历应用、布局构建器等场景。 ...
标题中的“JQ 拖拽”指的是使用 jQuery(通常简称为 JQ)库实现的拖放功能。jQuery 是一个广泛使用的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画以及Ajax交互等任务。在网页交互中,拖放功能允许用户...
"JQ实现拖拽上传并显示"是一个利用jQuery库实现的高效且用户友好的功能,它允许用户通过简单的拖放操作来上传文件,并实时显示上传进度。在本文中,我们将深入探讨如何使用HTML和jQuery实现这一功能,以及涉及的相关...
本文将详细介绍JQ UI中的拖拽功能,以及如何实现一个兼容性高的拖拽DIV插件。 首先,让我们了解JQ UI的拖拽功能。在JQ UI中,`draggable()` 是一个核心方法,用于将元素变为可拖动的。通过调用此方法并传入相应的...
用JQuery写的拖动元素进行排序的方法,包含拖动排序、拖动移除、拖动添加。 代码完整可用。没有用到第三方插件,自主可控。 原理是用CSS中position定位来跟踪鼠标移动,就是让元素跟踪鼠标位置,然后判断其在页面...
标题中的“JQ 精简的拖动框”指的是使用jQuery库实现的一个轻量级的可拖动对话框或窗口的功能。在网页交互设计中,拖动框常常用于创建可移动的弹出窗口,如设置面板、提示信息或者自定义组件。这种功能可以使用户...
jQuery拖动DIV滑块代码基于jquery-1.9.1.min.js制作,包括只能水平拖动;只能垂直拖动;自由拖动,初始位置固定;自动拖动,初始位置随机;自动拖动,初始位置随机,hander拖动等多种拖动效果。
在这个场景下,"jq实现拖拽,可以选择显示的内容"指的是使用jQuery来创建一个具有拖放功能的交互式界面,用户可以拖动元素并选择显示特定内容,这一功能在很多应用中都很常见,例如QQ空间的相册拖拽布局。...
jQuery拖拽360度旋转特效是一款基于jQuery框架 Reel插件的3D旋转特效代码,支持鼠标拖拽360度显示商品图,鼠标拖拽旋转的效果很流畅,特别适合做商品立体展示。 jQuery拖拽360度旋转特效演示图:
在这个场景中,"jq 表格拖拽"是指利用jQuery实现的一种功能,允许用户通过鼠标拖动来调整表格行或列的位置,提供更加互动和个性化的用户体验。这个功能在数据展示、数据分析或者任何需要用户自定义排序的场景中非常...
这个“JQ实现DIV大小、位置拖动调整源码”是一个基于jQuery的解决方案,它使得开发者能够为网页上的元素添加动态的拖放功能,提升用户体验。 jQuery(简称JQ)是一个轻量级的JavaScript库,它简化了HTML文档遍历、...
HTML5和jQuery(JQ)结合使用可以创造出丰富的交互效果,比如这个"拖拽小案例"就是其中之一。在这个案例中,我们将重点讨论如何利用HTML5的拖放(drag and drop)API以及jQuery 3.3.1来实现图片的拖拽功能。 HTML5...
"jQuery手机触屏拖拽"技术就是为此而生,它允许用户通过手指在触屏上的滑动来拖动页面元素,比如实现图片轮播效果。 【描述】:在“jQuery手机触屏滑动图片轮播效果代码”中,我们主要关注的是移动端图片的拖拽切换...
在本实例中,我们将深入探讨如何使用jQuery库实现一个图片拖拽功能,同时支持鼠标双击事件来开启拖拽操作。jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理和动画制作等任务,使得创建交互式的网页变得...
在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件...在《用Jquery实现DIV锁屏并且可以拖拽DIV窗体代码页面.docx》文档中,你可以找到更详尽的代码示例和解释,以便进一步学习和应用。
"jq 插件 实现拖拽"的主题涉及到了如何利用jQuery来创建一个允许用户通过拖动来移动元素的功能。这个功能在各种应用场景中都非常常见,例如在网页布局、拖放文件上传或交互式界面设计中。 拖拽功能的实现通常涉及到...
《jQuery拖动滑块时间轴选择日期代码》 在前端开发中,用户界面的交互性和易用性至关重要。"jQuery拖动滑块时间轴选择日期代码"是一个实用的JavaScript插件,它允许用户通过拖动滑块在时间轴上直观地选择日期。这个...