博客列表 >jQuery中的基本事件以及结合jQuery中常用的筛选方式实现武林高手在线相册实例---2018年9月18日11时

jQuery中的基本事件以及结合jQuery中常用的筛选方式实现武林高手在线相册实例---2018年9月18日11时

coolperJie
coolperJie原创
2018年10月05日 11:24:20799浏览

以下代码是使用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失去焦点

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

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议