<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="base.css" /> <script src="jquery-1.10.1.min.js" ></script> <style> .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; cursor:move;} </style> </head> <body> <div class="dragDiv" id="drag"> <div class="drag-head">点击拖动</div> <div class="drag-body"> 一站式网络<br/> 博客:<a href="http://onestopweb.iteye.com/" target="_blank">http://onestopweb.iteye.com/</a><br/> 网站:<a href="http://onestopweb.cn/" target="_blank">http://onestopweb.cn/</a> </div> </div> <script type="text/javascript"> //视频小窗口播放和还原 //全局保存拖动的位置 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实现拖拽上传并显示
html 非常好 jq 可拖拽布局组件 向不同方向jq 可拖拽布局组件
JQ弹出框 页面遮罩 页面遮罩弹出框是最常见的一种情况,今天用jQuery实现页面遮罩弹出框,主要用的技术有JQuery,css和html,
这个JQ UI拖拽插件,兼容IE,chrome,苹果Safari。 经过我改进后,可以嵌套iframe页面,可以打开多个嵌套iframe的div页面。
jq拖拽
实现使用 JQ + HTML5 实现 拖拽图片功能,JQ使用的版本是3.3.1
jq视差滚动框架特效是一款视差滚动响应式框架,能够在电脑、平板和移动设备中良好的呈现。 jq视差滚动框架特效图:
分享一个 jq拖拽(支持双击事件和拖拽)
NULL 博文链接:https://onestopweb.iteye.com/blog/2295002
JQ JS javascript 拖拽 排序功能 列表排序 菜单排序 表格排序
jq实现拖拽,可以选择显示的内容,仿照QQ空间的拖拽功能
收藏的最好用的jq拖拽代码简单好用有注释一个方法调用,用过多次,重要的说三遍最好用的jq拖拽代码简单好用有注释一个方法调用;最好用的jq拖拽代码简单好用有注释一个方法调用。
jq弹出框设计
简单的jq 实现的表格拖拽,代码简单实用 找了很久.
JQ拖拽排序插件,支持排序,支持IE浏览器,整体拖拽和标题拖拽,使用方法 $("#test").dragsort({ dragSelector: ".file-panel",//拖拽的位置 dragEnd: function() { },//拖拽完成之后执行的方法 dragBetween: ...
jq 插件,实现拖拽
jquery手机触屏滑动图片轮播效果代码_移动端图片拖拽切换插件touchslider.js
asp.net弹出框Jq插件用法模板ajax调用 学习模板!Jq弹出框插件asp ajax post技术
jq+layui 实现图片拖拽上传功能