Blogger Information
Blog 34
fans 1
comment 0
visits 36262
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
jQuery中的基本事件以及结合jQuery中常用的筛选方式实现武林高手在线相册实例---2018年9月18日11时
coolperJie
Original
804 people have browsed it

以下代码是使用jQuery的的知识,根据课堂案例编写的武林高手在线相册的案例:

实例

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>武林高手在线相册</title>
	<style type="text/css">
		.warp {
			width: 360px;
			height: auto;
			font-family: 楷体;
			font-size: 1rem;
			background-color: #efefef;
			border: 3px double grey;
			color: #363636;
			border-radius: 2%;
			margin: auto;
		}

		input , select {
			font-family: 楷体;
			font-size: 0.8rem;
		}
		.warp .header {
			padding: 15px;
		}
		.warp .header h2 {
			text-align: center;
		}
		.add {
			width: 100px;
			height: 40px;
			font-family: 楷体;
			background-color: lightblue;
			color: white;
			font-size: 1rem;
		}
		.add:hover {
			font-family: 楷体;
			background-color: pink;
			color: black;
			border-radius: 5%;
			cursor: pointer;
		}

		.main {
			overflow: hidden;
		}
		.main ul {
			padding: 0;
			margin: 0;
		}
		.main ul li {
			list-style-type: none;
			float: left;
			margin-left: 20px;
			margin-bottom: 10px;
			width: 150px;
			height: 200px;
			text-align: center;
		}
		.main ul li button {
			margin: 3px;
			border-radius: 5%;
			background-color: lightblue;
		}
		.main ul li button:hover {
			cursor: pointer;
			background-color: pink;
			color: white;
		}

	</style>
</head>
<body>
	<div class="warp">
		<div class="header">
			<h2>武林高手在线相册</h2>
			<p>
				<label for="img_url">输入图片地址:</label>
				<input type="file" name="img_url" id="img_url" placeholder="图片地址">
			</p>
			<p>
				图片类型:
				<input type="radio" id="rect" name="border" value="0"><label>直角</label>
				<input type="radio" id="rect" name="border" value="10%"><label>圆角</label>
				<input type="radio" id="rect" name="border" value="50%" checked><label>圆形</label>
			</p>
			<p>
				是否添加阴影:
				<select name="shadow">
					<option value="0">不添加</option>
					<option value="1" selected>添加</option>
				</select>
			</p>
			<p><button class="add">添加图片</button></p>
		</div>
		<div class="main">
			<ul></ul>
		</div>
	</div>
	<script src="../lib/jquery.js"></script>
	<script>
		//分三步完成

	$(function (){

		$('button.add').on('click',function(){
			//1.获取图片的相关信息
			//判断用户是否选择了图片
			let img_url = $('#img_url').val();
			if (img_url.length === 0){
				alert('请选择一张图片');
				$('#img_url').focus();
				return false;
			}

			//获取图片的基本特征
			//获取图片的外观
			let img_type = $(':radio:checked').val();
			//是否添加阴影
			let shadow = 'none'; 
			if ($(':selected').val() ==='1'){
				shadow = '3px 3px 3px #666';
			}

			//2.创建图片并添加到页面中
			img_url = 'http://www.whj.com/0918/images/'+img_url.split('\\')[2];

			//创建一张图片
			let img = $('<img>')
			.attr('src',img_url)
			.width(150)
			.height(150)
			.css({
				'border-radius':img_type,
				'box-shadow':shadow
			});

			//创建三个按钮
			let before = $('<button></button>').text('前移');
			let after = $('<button></button>').text('后移');
			let remove = $('<button></button>').text('删除');

			//创建一个<li>用来存放所有的内容
			let contaier = $('<li>');
			//将图片和按钮打包到<ul>中
			contaier.append(img,before,after,remove);
			//将<li>标签添加到<ul>中
			contaier.appendTo('ul');

			//为三个操作填加功能
			//前移功能
			before.click(function (){
				//第一步获取要移动的图片
				let nowpic = $(this).parent();
				let prev = nowpic.prev();
				prev.before(nowpic);
			});
			//后移功能
			after.click(function (){
				//第一步获取要移动的图片
				let nowpic = $(this).parent();
				let next = nowpic.next();
				next.after(nowpic);
			});

			//删除
			remove.click(function (){
				if(confirm('确认删除?')){
					$(this).parent().remove();
				}
				return false;
			})

		})
	});
	</script>

</body>
</html>

运行实例 »

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

说明:此案例就是简单实现了一些jQuery的一些操作,共分为三步:

  1. 获取图片的相关信息:拿到从页面中所选择的图片的相关信息

  2.创建图片并添加到页面中:这里主要注意的是如何获取到图片的路径

  3.创建三个按钮并为三个操作填加功能:这里图片和是三个按钮时放在同一个<li>标签中作为一个整体的。

总结:jQuery中最多的就是一些常用的操作,筛选方式可以分为:

    1. 直接从集合中获取元素:eq(),first(),last();
    2. 根据元素在集合中的关系:
        [1].next(),nextAll(),nextUntil(): 向后查询
        [2].prev(),prevAll(),prevUntil(); 向前查询
        [3].siblings(): 向前和向后进行双向查询
        [4].parent(): 获取父级元素
        [5].children(),find(),filter(),not():多级查询
        [6].is(),has(): 判断查询
    3. 集合区间查询与元素添加: slice(), add()

jQuery中的基本事件为以下几种:
    1.鼠标事件: click点击, mouseenter移入,mouseleave移出;
    2.表单事件: submit提交, change内容改变,focus获取焦点, blur失去焦点

多用多练才能熟练地学以致用。

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