`

jquery实做拖拉层移动效果

阅读更多
jquery 和jquery ui搭配,可以实现象igoogle那样的拖拉拽的效果,下面以实例
讲解下。

首先要用到的类库是jquery和jquery ui了。
1
<div id="column1" class="column">
<!-- Widgets code here -->
</div>

<div id="column2"  class="column">
<!-- Widgets code here -->
</div>


  假设分为两列,要从列1拖拉到列2
2 再细化代码如下
 
<div id="column1" class="column">
	<div class="dragbox" id="item1" >
		<h2>Handle 1
		  [url=#] [/url]
		  [url=#] [/url]

		</h2>
		<div class="dragbox-content" >
			<!-- Panel Content Here -->
		</div>
	</div>
</div>

<div id="column2"  class="column">
	<div class="dragbox" id="item2" >
		<h2>Handle 2
		  [url=#] [/url]
		  [url=#] [/url]

		</h2>
		<div class="dragbox-content" >
			<!-- Panel Content Here -->
		</div>
	</div>
</div>

   可以看到,每个DIV层中,都有两个按钮,分别是最大化和删除该层菜单的按钮.

3
现在轮到jquery 出场,代码如下:
$(
function(){
	$('a.maxmin').click(
	function(){
		$(this).parent().siblings('.dragbox-content').toggle();
	});

	$('a.delete').click(
	function(){
		var sel = confirm('do you want to delete the widget?');
		if(sel)
		{
			//del code here
		}
	}
	);

	$('.column').sortable({
	connectWith: '.column',
	handle: 'h2',
	cursor: 'move',
	placeholder: 'placeholder',
	forcePlaceholderSize: true,
	opacity: 0.4,
	stop: function(event, ui)
		{
			$(ui.item).find('h2').click();
			var sortorder='';

			$('.column').each(function(){
				var itemorder=$(this).sortable('toArray');
				var columnId=$(this).attr('id');
				sortorder+=columnId+'='+itemorder.toString()+'&';
			});
			sortorder = sortorder.substring(0, sortorder.length - 1)
			alert('SortOrder: '+sortorder);

		}
	}).disableSelection();
});


  下面解析下上面的代码:
$('a.maxmin').click 和$('a.delete').click(
分别是用来处理最小化,最大化的情景,而a.delete则是处理删除的情况(这里没进行处理)
之后拖拉是通过jquery的sortable的可拖拉层来进行处理,具体的请参考jquery
手册,这里增加了一个处理,是在拖拉移动时,用alert的方法,显示出在第一列,第2列中,
当前的各列中div层的名称.

4 配套的CSS
 
.column{
	width:49%;
	margin-right:.5%;
	min-height:300px;
	background:#fff;
	float:left;
}
.column .dragbox{
	margin:5px 2px  20px;
	background:#fff;
	position:"relative";
	border:1px solid #946553;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
}
.column .dragbox h2{
	margin:0;
	font-size:12px;
	background:#946553;
	color:#fff;
	border-bottom:1px solid #946553;
	font-family:Verdana;
	cursor:move;
	padding:5px;
}

.dragbox-content{
	background:#fff;
	min-height:100px; margin:5px;
	font-family:'Lucida Grande', Verdana; font-size:0.8em; line-height:1.5em;
}
.column  .placeholder{
	background: #EED5B7;
	border:1px dashed #946553;
}

.opIcons
{
background-image: url('iconSpirite.gif')!important;
background-repeat: no-repeat;
float:right;
height:13px;
width:13px;
margin:0px 2px;
}

.maxmin
{
	background-position:-26px 1px;
}

.delete
{
	background-position:-269px center;
	padding-top:1px;
}

 
运行效果参考:http://shivasoft.in/blog/wp-content/uploads/demos/DragAndDrop/index.html#
2
1
分享到:
评论

相关推荐

    jquery拖拉布局.zip

    二、jQuery拖拉事件 1. mousedown:当鼠标按钮被按下时触发。 2. mouseup:当鼠标按钮被释放时触发。 3. mousemove:当鼠标在元素上移动时持续触发。 4. dragstart:当元素开始被拖动时触发。 5. drag:在元素拖动...

    jQuery实现的可拖拉的炉石飞行卡动画特效源码.zip

    在本资源中,我们主要探讨的是使用jQuery库来实现一种炉石传说风格的飞行卡动画效果。jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互等任务。在这个项目中,jQuery被用来...

    jquery鼠标点击表格tr拖拉的文件.rar

    首先,`jquery.js` 是jQuery的核心库,它提供了丰富的DOM操作、事件处理和动画效果等功能,是实现拖放功能的基础。而`jquery-ui.custom.css` 和 `jquery-ui.min.js` 则是jQuery UI库的组成部分,它扩展了jQuery的...

    28、jQuery表格宽度自由拖拽特效

    1. **选择器与事件绑定**:首先,我们需要使用jQuery选择器找到表格的列(th元素)并绑定鼠标事件,如`mousedown`(鼠标按键按下)、`mousemove`(鼠标移动)和`mouseup`(鼠标按键释放)。 2. **初始化状态**:当`...

    图片拖拉缩放效果(仿PHOTOSHOP).rar

    本项目“图片拖拉缩放效果(仿PHOTOSHOP)”就是利用JavaScript来模仿Photoshop中的图片操作功能,让用户能够在浏览器上对图片进行拖动和缩放操作,提升用户体验。 在实现这个效果时,首先我们需要理解JavaScript中...

    jQuery拖动吸附栅格内对齐代码.rar_babyj2s_div 吸附 拖拉_jQuery拖动吸附栅格内对齐代码_js 拖拽对

    "js_拖拽对齐"和"stomachl54"标签可能代表这个功能的关键词或作者名称,而"babyj2s div_吸附_拖拉"可能是一个项目名称或者某种特定的实现方式。这个代码示例可以帮助开发者理解如何在jQuery中实现复杂的拖动吸附功能...

    菜单拖拉(图片的拖拉).zip

    在CSS方面,为了美化拖放效果,开发者可能会使用CSS3的过渡(transition)和动画(animation)属性,以及伪类选择器,如`:hover`、`:active`和`:focus`来改变图片在拖动过程中的样式。例如,当鼠标悬停在图片上时,...

    JavaScript 拖拉缩放效果 -源码.zip

    这些效果可以通过JavaScript库如jQuery、Vue.js、React.js等实现,也可以通过原生的JavaScript API来编写。本项目“JavaScript 拖拉缩放效果 -源码.zip”提供了一个关于这两项功能的源码示例,用于学习和参考。 ...

    流程图拖拉拽myflow.zip

    jQuery UI是jQuery的一个扩展库,包含了多种用户界面组件和交互效果,如拖放功能。在这个项目中,jQuery UI的拖放功能被用来实现流程图的拖拽操作。用户可以轻松地将流程图节点在界面上移动,调整它们的位置,从而...

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

    在这个流程设计器中,jQuery UI的拖放功能用于实现元素的自由移动,使得用户可以轻松调整流程图中的各个步骤。 3. **拖拽功能**: 拖拽功能是通过结合使用jsPlumb和jQuery UI实现的。首先,jQuery UI的draggable...

    窗口的拖拉拽功能

    在IT行业中,窗口的拖拉拽功能是一种常见的交互设计,特别是在网页应用和桌面软件中。这一功能使得用户可以通过鼠标操作轻松移动窗口的位置,提升用户体验。本篇将详细讲解如何使用jQuery实现窗口拖动功能,以及相关...

    jquery 强大拖拽布局插件

    **jQuery 拖拽布局插件详解** 在Web开发中,动态布局和交互性是提升用户体验的关键要素之一。jQuery作为一款强大的JavaScript库,为开发者提供了丰富的功能和便利,其中包括实现拖拽布局的插件。本篇文章将深入探讨...

    jQuery表格列表拖动排序代码

    在mousemove事件中,会根据鼠标移动的距离实时更新元素的位置,同时可能添加高亮效果来提供视觉反馈。最后,当鼠标释放时,mouseup事件被触发,系统会判断元素的新位置是否符合拖动排序的规则,如果符合条件,则进行...

    jquery-esayui 自定义样式

    在描述中提到的“拖拉框”,可能是对EasyUI原有拖动功能的增强或调整,以适应特定场景下的操作需求,比如调整窗口大小、移动面板位置等。 4. **表格自定义设置** 表格是数据展示的重要工具,EasyUI的表格组件支持...

    拖拉全屏相册

    【拖拉全屏相册】是一种使用jQuery库实现的交互式相册功能,它允许用户通过拖动操作在全屏模式下浏览图片。这个技术在现代网页设计中被广泛运用,因为它提供了更直观、更具沉浸感的用户体验。下面将详细阐述实现这个...

    可拖拉进度条.zip

    - 为了实现拖拉功能,通常会使用JavaScript或其库(如jQuery)来处理用户的鼠标或触摸事件。事件监听器如`mousedown`、`mousemove`和`mouseup`用于检测用户的拖动操作,并更新进度条的值。 5. **事件处理**: - `...

    用AJAX实现的桌面拖拉

    在IT行业中,用户体验是至关重要的一个方面,"用AJAX实现的桌面拖拉"就是一种提升用户交互体验的技术。AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页内容的技术。它...

    一套完整的拖拉拽的示例

    拖拉拽技术是用户界面设计中的一个重要组成部分,它允许用户通过鼠标或其他输入设备将元素从一个位置移动到另一个位置,增强了交互性和用户体验。在计算机软件、网页应用甚至移动应用中,拖放功能广泛用于文件管理、...

    拖拉树节点的例子.rar_树节点

    在这个例子中,我们关注的是“拖拉树节点”的功能,这通常指的是用户可以通过鼠标操作在树形视图中拖放节点,以实现节点的移动、重新排序或构建新的树结构。 树节点是树数据结构的基本组成部分,每个节点包含一个值...

    html5 跨iframe的拖拽实现移动端页面设计器

    5. `dragover`:在拖动元素在目标上移动时频繁触发,通常用来取消默认的禁止放置效果。 6. `drop`:当拖动的元素被放下(释放)时触发,用于处理数据的放置。 在跨iframe的拖放实现中,我们需要解决的主要问题是...

Global site tag (gtag.js) - Google Analytics