jQuery可自由拖拽的照片墙

jQuery可自由拖拽的照片墙

添加时间:2021-01-22 07:14:19
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:图片墙
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

一款jQuery可自由拖拽排序的照片墙,图片的位置可以用鼠标左键随意拖动,放到不同的位置,自由度还是相当高的,喜欢的童鞋请收下吧。
jQuery可自由拖拽的照片墙
分类:图片代码 > 图片墙 难易:初级

页面的head部分,需要引入一个页面的默认样式文件,代码如下:

<link type="text/css" rel="stylesheet" href="css/default.css" media="screen" />

页面的body部分,将多张图片放入不同的li里面,整体置于一个div容器里即可,代码如下:

<div id="container">
	<h1>拖拽图片可自由摆放</h1>
	<ul id="images">
		<li><div>
			<a href="3dOcean.htm"><img alt="3dOcean" src="images/3docean_tn.jpg"/></a>
		</div></li>
		<li><div>
			<a href="AudioJungle.htm"><img alt="AudioJungle" src="images/audiojungle_tn.jpg"/></a>
		</div></li>
		<li><div>
		<a href="ActiveDen.htm"><img alt="ActiveDen" src="images/activeden_tn.jpg"/></a>
		</div></li>
		<li><div>
			<a href="GraphicRiver.htm"><img alt="GraphicRiver" src="images/graphicriver_tn.jpg"/></a>
		</div></li>
		<li><div>
			<a href="ThemeForest.htm"><img alt="ThemeForest" src="images/themeforest_tn.jpg"/></a>
		</div></li>
		<li><div>
			<a href="VideoHive.htm"><img alt="VideoHive" src="images/videohive_tn.jpg"/></a>
		</div></li>
	</ul>
</div>

页面的底部,先引入jQuery库、一个JS文件,然后设置好图片的拖动事件响应,代码如下:

<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript" src='js/jqueryui-core-drag.js'></script>
<script type="text/javascript">		
var imgs;
$(document).ready(function () {
	var drag = {};
	$('h1').remove();
	$('#images').append('<li id="instructions"><h4>拖拽图片可自由摆放</h4></li>');
	
	imgs = $("#images li");

	imgs.draggable({ 
		stack : { group : '#images li', min : 1},
		start : function () {
			$this = $(this);
			if($this.attr('id') === 'instructions') { $this.fadeOut().remove(); }
			
			imgs.each(function () {
				var $this = $(this);
				if($this.width() !== 256) {
					$this.stop().animate({width : 256 }).removeClass('top');
				}
			});
			
			drag.startTime = new Date();
			drag.startPos = $this.position();
		},
		stop : function () {
			var $this = $(this), top, left, time;
			drag.endTime = new Date();
			drag.endPos = $this.position();
			drag.leftOffset = drag.endPos.left - drag.startPos.left;
			drag.topOffset  = drag.endPos.top  - drag.startPos.top;

			time = (drag.endTime.getTime() - drag.startTime.getTime()) /60;
			
			top  = (drag.topOffset / time).toString();
			left = (drag.leftOffset / time).toString();
			
			$this.animate({
				top : '+=' + top, 
				left: '+=' + left 
			});
		}
	});

	imgs.click(function () {
		var $this = $(this);
	
		if ($this.attr('id') == 'instructions') {
			$this.fadeOut().remove();
		}
		else {
			if($this.width() !== 256) {
				$this.stop().animate({width : 256 }).removeClass('top');
			}
			else {
				if (!($this.find('.info').length)) {
					$.ajax({
						url : $this.find('a').attr('href'),
						dataType : 'html',
						success : function (data) {
							var $d = $(data),
								head = $d.filter('h1'),
								para = $d.filter('p');
								
							$this.children('div').append('<div class="info"></div>').find(".info").append(head, para);
						},
						error : function () {
							var msg = '<h1>Oops!</h1><p>It looks like there been a problem; we can\'t get this info right now.</p>';
							$this.children('div').append('<div class="info"></div>').find(".info").html(msg);
						}
					});
				}
				$this.css({'zIndex' :8 })
						 .stop()
						 .animate({ width : 512})
						 .addClass('top')
							.siblings().removeClass('top')
									   .stop()
									   .animate({width : 256})
											.filter(function () { return $(this).css('zIndex') >= '8' }).css({'zIndex' : 7});
			}
		}
		return false;
	});
	
});

$(window).load(function () {
	$w = $(window);
	imgs.css({
			position : 'absolute',
			left : $w.width() / 2 - imgs.width(),
			top  : $w.height() / 2- imgs.height()
		});
	for(var i = 0; imgs[i]; i++ ) {
		$(imgs[i]).animate({
				left : '+=' + Math.random()*150,
				top  : '+=' + Math.random()*150
			});
	}
});
</script>
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:jQuery可自由拖拽的照片墙

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.150503s