Blogger Information
Blog 43
fans 3
comment 1
visits 30259
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
JQuery相册管理器+2018年4月10日17时35分
KongLi的博客
Original
609 people have browsed it

JQuery相册管理器

主要功能:动态添加图片,并且能够添加边框样式、阴影,以及图片向前移,向后移,删除图片

主要使用:伪类获取元素内容,并使用 appendTo 将内容添加至 ul 中

向前移部分:

// $(this).parent() //得到 before 的父级, li 元素

// $(this).parent().prev() //得到父级的 前一个兄弟节点

// $(this).parent().prev().before() //before 向前插入内容,将 li 当前本身作为参数传入


向后移部分:

// $(this).parent() //得到 before 的父级, li 元素

// $(this).parent().next() //得到父级的 后一个兄弟节点

// $(this).parent().next().after() //before 向后插入内容,将 li 当前本身作为参数传入


删除部分:$(this).parent().remove()

效果:

效果.jpg

CSS 代码:

		.container{
			width: 600px;
			background-color: #CCCC99;
			margin: auto;
		}

		.container .main{
			background-color: #CCCC99;
			overflow: hidden;
		}

		.container .main ul li {
			list-style-type: none;
			float: left;
			margin-left: 20px;
			width: 150px;
			height: 200px;
			text-align: center;
		}
		
		.container .main ul li button{
			margin-left: 5px;
		}

JS 代码:

$(document).ready(function(){
	//给类样式为 add 的按钮添加点击事件
	$('button.add').on('click',function(){

		// 1.获取图片并判断是否为空,不为空则继续
		var img_url = $('#img_url').val() //获取到 id 为 img_url 的value
		// console.log(img_url)
		//图片不为空,继续下面的操作
		if(img_url.length>0){

		// 2.获取要改变的边框值
		// 通过css 获取当前radio同组下选中的值 $(":empty") 获取节点的所有元素
		var bor_type = $(':radio:checked').val() 
		// console.log(bor_type) 

		// 3.判断是否选择了阴影
		var shadow='none' //设置一个默认的阴影
		//通过伪类获取 selected 的值 =1 则添加阴影
		if($(':selected').val()==1){  
			shadow='3px 3px 3px #FFFF66'
		}
		// console.log(shadow)

		// 4.创建 图片并且给图片添加样式,添加完毕之后将其添加到创建的 li 中
		var img = $('<img>')
					.prop('src',img_url) //使用 prop 添加原生属性
					.width(150)
					.height(150)
					.css({				//添加多个样式属性
						"border-radius":bor_type,
						"box-shadow":shadow
					})

		// 5.创建三个按钮
		var before=$('<button>').text('向前')
		var rear=$('<button>').text('向后')
		var del=$('<button>').text('删除')

		// 6.创建 一个 li 并且将 图片 按钮全部添加进 li 中
		var li = $('<li>').append(img,before,rear,del)

		// 7.将创建好的 li 用 appendTo 添加到 ul 内容中的最后面
		li.appendTo('ul')
		// console.log(img)

		// 8.给三个按钮添加点击事件
		// 向前按钮事件
		before.click(function(){
			// $(this).parent() //得到 before 的父级, li 元素
			// $(this).parent().prev() //得到父级的 前一个兄弟节点
			// $(this).parent().prev().before() //before 向前插入内容,将 li 当前本身作为参数传入
			$(this).parent().prev().before($(this).parent())
		})

		// 向后按钮事件
		rear.click(function(){
			// $(this).parent() //得到 before 的父级, li 元素
			// $(this).parent().next() //得到父级的 后一个兄弟节点
			// $(this).parent().next().after() //before 向后插入内容,将 li 当前本身作为参数传入
			$(this).parent().next().after($(this).parent())
		})

		// 删除按钮事件
		del.click(function(){
			$(this).parent().remove()
		})

		}else{
			alert('请添加图片!')
			$('#img_url').focus()
			return false
		}
	})
})

具体HTML代码:

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>相册管理器</title>
	<link rel="stylesheet" type="text/css" href="css/style.css">
	<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
	<script type="text/javascript" src="js/pic.js"></script>
</head>
<body>
	<div class="container">
		<h2>相册管理器</h2>
		<p>
			<label for="img_url">请输入图片地址:</label>
			<input type="text" name="img_url" id="img_url" value="images/1.jpg" placeholder="images/1.jpg">
		</p>
		<p>
			<label>选择要改变的类型:</label>
			<input type="radio" name="border" checked="" value="0"><label>默认</label>
			<input type="radio" name="border" value="10%"><label>椭圆</label>
			<input type="radio" name="border" value="50%"><label>圆形</label>
		</p>
		<p>
			<label>是否带阴影</label>
			<select name="shadow">
				<option value="0" selected="">默认</option>
				<option value="1">带</option>
			</select>
		</p>
		<p>
			<button class="add" id="add">开始上传</button>
		</p>
		<hr>
		<div class="main">
			<ul></ul>
		</div>
	</div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post