`
kalllx
  • 浏览: 63397 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jquery draggable plugin

阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>New Document</TITLE>
<script type="text/javascript" src="../jquery-1.4.2.min.js"></script>
<SCRIPT LANGUAGE="JavaScript"> 

		
	$(function(){
 	$("#test").draggable({hander:$("#p")});
 
	});
	  ~function($){
	  $.fn.draggable=function(cfg){
	   cfg=cfg?cfg:{};
	  this.each(function(){
	    var target=$(this),hander, proxy,x=0,y=0,flag=false;  
		hander=cfg.hander?cfg.hander:target;
		hander.mousedown(function(){
	   	x=event.clientX-target.attr("offSetLeft");
		y=event.clientY-target.attr("offSetTop");
		proxy = $("<div style='position:absolute;border:2px dashed #ccc;'></div>") ;
		proxy.insertAfter(target);
		proxy.css({"width":target.css("width"),"height":target.css("height"),"left":target.attr("offSetLeft")+5,"top":target.attr("offSetTop")+5,"z-index":9999});
		proxy.mousemove(mouseMove).mouseup(mouseUp);
	    $(document).mouseup(mouseUp).mousemove(mouseMove);
	    flag=true;
 
	    });
		function mouseMove(){
			if(flag)
			{
			window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty(); 
			proxy.css("left" ,event.clientX-x+5);
			proxy.css("top" ,event.clientY-y+5);
			}
		}

		function mouseUp(){
	
		var x=proxy.attr("offSetLeft")-5;
		var y=proxy.attr("offSetTop")-5;

		if(x<0)
		{
			x=0;
		}
		if(y<0)
		{
			y=0;
		}
	 
		if(y+proxy.height()>$(window).height())
		{
			y=$(window).height()-proxy.height()-3;
		}
		if(x+proxy.width()>$(window).width())
		{
			x=$(window).width()-proxy.width()-8;
		}
	
		target.animate({left:x,top:y},"slow");
		proxy.unbind("mousemove").unbind("mouseup");
		$(document).unbind("mousemove").unbind("mouseup");
		proxy.remove();
		flag=false;
	}

 
	  });

	  };
	  
	  }(jQuery);
	</SCRIPT>
</HEAD>

<BODY>
	<div id="display"
		style="position: absolute; width: 200px; height: 200px; border: 1px solid #f00; top: 120px; left: 20px;">	   dddd
	</div>
	<div id="test"
		style="position: absolute; width: 200px; height: 200px; border: 1px solid #f0f; top: 200px; left: 200px;">
		<div id="p" style="  width: 200px; height: 20px; border: 1px solid #f0f;  "> fffffffffffffddd</div>
	</div>
	<button id="btn" style="position: absolute;">dfdfdf</button>
</BODY>
</HTML>
分享到:
评论

相关推荐

    jquery-plugin-boxy

    "jQuery-plugin-boxy"是一个基于jQuery的弹出框插件,用于创建可定制的对话框和模态窗口。这个插件提供了丰富的功能和灵活性,帮助开发者在网页中轻松实现各种类型的提示信息或交互式表单。 1. **jQuery库基础**: ...

    jQuery的弹出警告对话框美化插件

    5:如果你引入了jQuery UI Draggable plugin插件,那这个插件也可以被自由拖动。 详细出处参考:file:///F:/闫洪明/新建文件夹/1alerts/基于jQuery的弹出警告对话框美化插件(警告,确认和提示)_jquery_脚本之家....

    超好用的Jquery插件集合

    8. **Sortable, Draggable & Resizable** - 这些插件(如jQuery UI的相关组件)允许用户对表单元素进行排序、拖放和调整大小,增强交互性。 **图片插件:** 1. **Image Sliders** - 如Nivo Slider和FlexSlider,...

    jquery-plugin-list:可拖动列表 http

    本项目名为“jquery-plugin-list”,重点介绍了一个jQuery插件,该插件允许用户创建一个可拖动的列表,同时结合HTTP交互实现数据的动态更新。 1. **jQuery 插件开发**: jQuery插件是扩展jQuery功能的一种方式,...

    jQuery新手入门指南+源代码

    - **拖放功能**:jQuery UI Draggable和Droppable提供拖放元素的交互体验。 4. jQuery与Ajax: - **$.ajax()**:进行异步请求的通用方法,可以设置各种参数控制请求行为。 - **$.getJSON()**:专门用于获取JSON...

    50个jquery插件介绍

    1. **表单验证插件**:如jQuery Validation Plugin,它可以轻松地为表单添加验证规则,确保用户输入的数据格式正确。 2. **图片轮播插件**:例如Bootstrap Carousel或Slick Slider,它们提供了美观且响应式的图片...

    JQuery的7个经典插件

    jQuery UI是官方提供的一个强大的组件库,包括日期选择器(Datepicker)、对话框(Dialog)、拖放(Draggable)、可排序(Sortable)和可折叠(Accordion)等功能。其中,日期选择器是日历功能的代表,提供了多种...

    jquery ui 1.7 min高压缩版

    - **组件**:jQuery UI 包括了多个组件,如日期选择器(DatePicker)、对话框(Dialog)、滑块(Slider)、排序(Sortable)、拖放(Draggable)、可连接(Connectable)等。 - **事件处理**:jQuery UI 支持丰富的...

    50个精彩JQuery插件案例

    15. **表单验证**:jQuery Validation Plugin等插件,实现对用户输入的有效性检查,防止无效数据提交。 16. **触摸事件**:对于移动设备,jQuery Touch Punch等插件可以将触控事件映射为鼠标事件,确保在触摸屏上的...

    portlets jquery drag插件

    jquery drag插件, 拖放插件(Drag and Drop) UI/Draggables. EasyDrag jQuery Plugin. jQuery Portlets. jqDnR - drag, drop resize. Drag Demos.

    广泛收集的jQuery拖放插件集合

    2. **jQuery Scroll Plugin**:它为图片添加了一个“投影”的预建动画帧序列,创建360°视角的效果,为用户提供了一种新颖的浏览体验,尤其适用于产品展示。 3. **CropZoom**:这个插件允许用户选择并裁剪图像的...

    jquery第三方API

    3. **jQuery Form Plugin**:方便处理表单提交,支持异步上传文件,如`$("#form").ajaxSubmit()`。 4. **jQuery Validate**:表单验证插件,可以自定义验证规则,提供错误提示,如`$("#form").validate()`。 5. **...

    jquery 教程及很多的插件

    1. **表单插件**: 如 jQuery Validation Plugin,用于实现强大的表单验证功能,包括必填项检查、格式验证等。 2. **轮播插件**: 如 Slick Carousel 或 Swiper,可以轻松创建响应式的图片或内容轮播组件。 3. **...

    30个jquery经典Demo

    18. **插件开发(Plugin Development)**:jQuery插件机制允许开发者扩展其功能,封装复用代码。 19. **动画效果(Effects)**:`.fadeIn()`, `.slideToggle()`, `.animate()`等方法创建各种视觉效果,增强用户体验...

    jQuery常用插件

    9. **Sortable and Draggable**:`jQuery UI Sortable`和`Draggable`让元素排序和拖放成为可能,适用于列表排序和布局定制。 10. **Countdowns and Timers**:`Countdown.js`和`jQuery Countdown`插件可用于创建倒...

    jQuery1.3.2

    - **jQuery UI**:这是一个官方的UI库,包含各种组件和视觉效果,如对话框(Dialog)、日历(Datepicker)、拖放(Draggable)、排序(Sortable)等。1.3.2时期的jQuery UI可能不包含所有现代版本的功能,但它奠定...

    jQuery整合资源

    1. **jQuery UI**: 提供了大量的界面元素和交互效果,如对话框(Dialog)、拖放(Draggable)、排序(Sortable)等。 2. **Bootstrap**: 虽非jQuery插件,但常与jQuery配合使用,提供响应式布局和组件,如按钮、...

    jQuery_API1.4&1.5chm&阅读器(AdobeAIR)

    $(”div”).draggable(”method”) calls another method on the plugin 新的API还让callback机制更加相似,每个插件显示缺省选项,并且使用remove()方法就可以方便地移除插件。我们也实现了自由地插件更新机制,更...

    jquery插件

    这个validate插件可能指的是jQuery Validation Plugin,它是用于表单验证的另一个工具,与formValidate类似。这个插件提供了一套完整的验证规则和方法,可以方便地与jQuery表单元素结合使用,实时检查用户输入,...

    jquery-sortablejs:用于SortableJS的jQuery绑定

    **jQuery SortableJS绑定插件详解** 在Web开发中,实现元素拖放排序是一个常见的需求,这能够极大地提升用户体验。`jQuery SortableJS`就是这样一个工具,它将流行的JavaScript库SortableJS与jQuery进行了绑定,...

Global site tag (gtag.js) - Google Analytics