`
aijnecJay
  • 浏览: 58355 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jQuery ui中的拖拽

阅读更多
jQuery ui 的拖拽


在jQuery的拖拽出现之前,在页面上写一个能实现拖拽效果的JS很麻烦,需要监听鼠标的动作,位置等等,代码也比较冗长,而用jQuery ui就会起到事半功倍的效果.

这里介绍一个利用sortable排序列表来实现的拖拽功能.
直接上代码

<html>

<head>



 <style type="text/css">
   .placehelperclass{
	   border:2px dashed #ccccff;
	}  
  </style>


<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.7.1.custom.min.js"></script>
<script>
$(function() {

  $("#portal_view .column").each(function(index,value){
			$('.column-'+(index+1)).each(function(idx,vae){			 
				value.appendChild(vae);
			});			
		});



		$("#portal_view .column").sortable({
			connectWith:"#portal_view .column",
			revert:true,
			opacity:0.7,
			scrollSensitivity: 100,
			scrollSpeed:100,
			tolerance:'pointer',
			forcePlaceholderSize:true,
			delay:1,
			handle:'.portlet-header',
			placeholder:'placehelperclass',
			cancel:'.portlet-disabled'
		});


	$("#portal_view .column").disableSelection();


});
</script>
</head>


<body>





<div id="div_out" class="div_out">
	<div id="portal_view" style="width:100%;">
			<table width="100%">			
				<tr>
					<td width="60%" valign="top">
				
						<div id="draggable1" class="column">							
						&nbsp;
						</div>
							
					</td>					
					<td width="40%" valign="top">			
					<div id="draggable2" class="column">
					&nbsp;
					</div>
					</td>
				</tr>
				
					<tr>
					<td width="60%" valign="top">
				
						<div id="draggable1" class="column">							
						&nbsp;
						</div>
							
					</td>					
					<td width="40%" valign="top">			
					<div id="draggable2" class="column">
					&nbsp;
					</div>
					</td>
				</tr>
				
			</table>
		</div>

              <div class="portlet column-2">
								<div class="portlet-header">
									<table width="100%">
										<tr>
											<td class="portlet-title">Black iPhone 4</td>
											<td class="portlet-tools" style="display:none;" align="right">X</td>
										</tr>
									</table>
								</div>
								<div class="portlet-content" id="portlet-content-1">
									<img src="./iphone4s.jpg" />
								</div>
								<input type="hidden" class="portletDescriptionId" value="1"/>
								<input type="hidden" class="portletId" value="1"/>
							</div>
							
							
							 <div class="portlet column-1">
								<div class="portlet-header">
									<table width="100%">
										<tr>
											<td class="portlet-title">White iPhone 4S</td>
											<td class="portlet-tools" style="display:none;" align="right">X</td>
										</tr>
									</table>
								</div>
								<div class="portlet-content" id="portlet-content-2">
									<img src="./iphone4s_white.jpg" />
								</div>
								<input type="hidden" class="portletDescriptionId" value="2"/>
								<input type="hidden" class="portletId" value="2"/>
							</div>
							
							<div class="portlet column-3">
								<div class="portlet-header">
									<table width="100%">
										<tr>
											<td class="portlet-title">Baidu</td>
											<td class="portlet-tools" style="display:none;" align="right">X</td>
										</tr>
									</table>
								</div>
								<div class="portlet-content" id="portlet-content-3">
									<img src="./baidu_sylogo1.gif" />
								</div>
								<input type="hidden" class="portletDescriptionId" value="3"/>
								<input type="hidden" class="portletId" value="3"/>
							</div>
							
					

</body>


</html>

这个例子是从一个真实的PORTAL项目里提炼简化而来的,可以看出,JS的代码量非常少,简明扼要.,首先通过value.appendChild(vae);
这个方法把对应的DIV读取到可排序列表的框架里去(#portal_view .column),这样做的目的是为了配合页面拖拽排版的持久化,当从数据库或者其他持久化层中把页面几个可排序块的内容读取出来后,按照存入的顺序依次分配到对应的排序列表表格中去,而和拖动有关的内容全部都在.sortable这个API里配置,包括透明度,回退等等各个参数,具体可以参考官方的API文档.

大家可以试一下.
  • 大小: 22.5 KB
分享到:
评论

相关推荐

    JQuery UI 中文帮助文档

    1. **引入库文件**:首先在HTML文件中引入jQuery库和jQuery UI的CSS与JS文件,确保正确加载。 2. **选择元素**:通过jQuery选择器选取需要应用组件的DOM元素。 3. **调用方法**:对选中的元素调用jQuery UI提供的...

    JQueryUI拖拽效果

    "JQueryUI拖拽效果"是其中的一个核心功能,它允许用户通过简单的API调用来实现元素在页面上的拖放操作。 1. **拖拽功能的实现** jQueryUI的`draggable()`方法用于将任何HTML元素变为可拖动的对象。只需在目标元素...

    jquery ui拖拽 克隆

    在本教程中,我们将深入探讨如何使用jQuery UI实现拖拽(dragging)和克隆(cloning)功能,尤其是如何在拖拽过程中实现元素的复制。 首先,要使用jQuery UI的拖拽功能,你需要在你的HTML页面中引入jQuery库和...

    jQueryUI拖拽效果_拖拽div的值到table表格里面

    总结,实现jQuery UI拖拽效果的关键在于正确配置`draggable`和`droppable`组件,并确保HTML结构支持拖放行为。通过结合JavaScript和CSS,我们可以创建出直观且易于使用的用户界面,让用户能够方便地将div中的数据...

    jQueryUI可拖拽弹性圆形菜单.zip

    6. **拖拽功能**:jQuery UI的draggable组件允许用户拖动整个菜单,增加了菜单的灵活性和可用性。 7. **响应式设计**:为了适应不同设备和屏幕尺寸,菜单应具备响应式布局,确保在任何环境下都能正常工作。 在实际...

    bootstrap&jQueryUI例子

    在"bootstrap&jQueryUI例子"这个压缩包中,可能包含的是结合了这两个框架的示例代码或项目。这些示例通常会展示如何在同一个页面中有效地利用 Bootstrap 的布局和样式,同时引入 jQuery UI 的组件,实现更复杂的用户...

    jquery UI中文文档

    在提供的压缩包文件中,可以看到不同版本的 jQuery UI,例如 `jquery-ui-1.10.3.zip` 和 `jquery-ui-1.7.2.custom.zip`。每个版本可能引入了新功能、优化或修复了已知问题。开发者应根据项目需求和兼容性选择合适的...

    web流程设计器(jsplumb+jqueryUI)拖拽功能

    在本文中,我们将深入探讨如何使用jsPlumb和jQuery UI库构建一个基于Web的流程设计器,该设计器具有拖拽功能,并适用于多种主流浏览器。这个工具对于业务流程建模、工作流设计以及任何需要图形化表示流程的应用场景...

    jQuery UI组件 jQuery UI

    `development-bundle`目录包含未压缩和未合并的jQuery UI资源,适合在开发过程中使用,便于调试和定制。而`css`和`js`目录则包含已经压缩和合并的文件,适用于生产环境,以减少加载时间和网络带宽。 总的来说,...

    Jquery插件包 UI 拖拽

    使用jQuery UI的拖拽功能,开发者首先需要在页面中引入jQuery和jQuery UI的库。接着,通过`draggable()`方法将特定的DOM元素设置为可拖动,如下所示: ```html &lt;!DOCTYPE html&gt; &lt;link rel="stylesheet" href="...

    jquery-ui.css、jquery-ui.js下载

    在本文中,我们将详细探讨`jquery-ui.css`和`jquery-ui.js`这两个关键文件,并讨论如何在项目中有效地使用它们。 首先,`jquery-ui.css`是jQuery UI的核心样式文件,它包含了所有组件的默认样式和主题。这个文件...

    jQuery UI表格内容拖拽代码.zip

    《jQuery UI表格内容拖拽实现详解》 在Web开发中,提升用户体验往往是一个重要的目标,尤其是在处理大量数据的表格时。jQuery UI库提供了一系列强大的工具,使得开发者能够轻松实现交互式功能,例如拖放操作。本篇...

    jquery ui & themes

    3. **拖放(Draggable/Droppable)**:jQuery UI实现了元素的拖放功能,允许用户将一个元素拖动到另一个元素上,常用于构建可交互的布局或者文件管理器等应用。 4. **排序(Sortable)**:这个功能允许用户对列表或...

    jQuery.ui.1.7.2中文文档

    在HTML文件中,你需要引入jQuery库和jQuery UI的CSS及JS文件。确保正确设置路径,使浏览器能够找到这些资源。 2. **选择器和方法调用** 要应用jQuery UI的效果或组件,首先需要选择元素,然后调用相应的方法。...

    jQuery UI Multiselect (jQuery UI 多选框)

    首先,确保在项目中引入了jQuery和jQuery UI的核心库,然后引入jQuery UI Multiselect的CSS和JS文件。接下来,可以按照以下步骤创建和初始化多选框: ```html &lt;!-- HTML结构 --&gt; &lt;option value="1"&gt;Option 1 ...

    jQuery UI拖拽信息到Table表格特效

    在"jQuery UI拖拽到Table表格特效"中,我们主要关注两个关键点:`draggable`和`droppable`。`draggable()`是jQuery UI的一个方法,用于将元素变为可拖动;`droppable()`则让元素成为可以接受拖放目标的位置。 1. **...

    jQuery UI 实现拖动滑块控制图片滚动(效果超酷)

    在本文中,我们将深入探讨如何使用jQuery UI库来实现一个独特的功能:通过拖动滑块控制图片滚动。这种效果在网页设计中可以增加互动性和用户体验,尤其适用于展示一系列图像或创建动态相册。jQuery UI是一个强大的...

    jQuery ui鼠标拖动图片摇晃动画效果

    在本文中,我们将深入探讨如何使用jQuery UI库来实现鼠标拖动图片时产生摇晃动画效果。jQuery UI是一个强大的JavaScript库,它扩展了基础的jQuery功能,提供了丰富的用户界面组件和交互效果。在这个特定的场景中,...

    jQuery UI拖拽拖放插件jquery.top-droppable

    **jQuery UI 拖拽拖放插件:jquery.top-droppable** 在Web开发中,交互性和用户体验至关重要,而拖放功能(Drag and Drop)是提升用户体验的一种有效方式。jQuery UI是一个强大的JavaScript库,提供了丰富的用户...

Global site tag (gtag.js) - Google Analytics