1.案例需求

  jquery最基础的选择器部分已经基本结束,来一个简单案例总结回顾下学的东西。

案例需求:

  用一个按钮控制元素的显示与隐藏,页面如下,从第五个开始,不要最后一个,控制他们的显示和隐藏。

2.代码实现

  1. 方法一
 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <title>动态列表效果.html</title>
6 <style type="text/css">
7 *{ margin:0; padding:0;}
8 body {font-size:12px;text-align:center;}
9 a { color:#04D; text-decoration:none;}
10 a:hover { color:#F50; text-decoration:underline;}
11 .SubCategoryBox {width:600px; margin:0 auto; text-align:center;margin-top:40px;}
12 .SubCategoryBox ul { list-style:none;}
13 .SubCategoryBox ul li { display:block; float:left; width:200px; line-height:20px;}
14 .showmore { clear:both; text-align:center;padding-top:10px;}
15 .showmore a { display:block; width:120px; margin:0 auto; line-height:24px; border:1px solid #AAA;}
16 .showmore a span { padding-left:15px; background:url(img/down.gif) no-repeat 0 0;}
17 .promoted a { color:#F50;}
18 </style>
19 <!-- 引入jQuery -->
20 <script src="../js/jquery-1.8.3.js" type="text/javascript"></script>
21 <script type="text/javascript">
22 var flag = true;
23 $(function(){
24 $(".showmore a").click(function(){
25 if(flag){
26 $("ul li").each(function(index){
27 if(index >= 5 && 12 >= index) {
28 $(this).attr("style","display:none;");
29 $("span").html("显示全部品牌");
30 }
31 });
32 flag = false;
33 } else {
34 $("ul li").each(function(index){
35 if(index >= 5 && 12 >= index) {
36 $(this).attr("style","");
37 $("span").html("隐藏全部品牌");
38 }
39 });
40 flag = true;
41 }
42 });
43 });
44 </script>
45 </head>
46 <body>
47 <div class="SubCategoryBox">
48 <ul>
49 <li ><a href="#">佳能</a><i>(30440) </i></li>
50 <li ><a href="#">索尼</a><i>(27220) </i></li>
51 <li ><a href="#">三星</a><i>(20808) </i></li>
52 <li ><a href="#">尼康</a><i>(17821) </i></li>
53 <li ><a href="#">松下</a><i>(12289) </i></li>
54 <li ><a href="#">卡西欧</a><i>(8242) </i></li>
55 <li ><a href="#">富士</a><i>(14894) </i></li>
56 <li ><a href="#">柯达</a><i>(9520) </i></li>
57 <li ><a href="#">宾得</a><i>(2195) </i></li>
58 <li ><a href="#">理光</a><i>(4114) </i></li>
59 <li ><a href="#">奥林巴斯</a><i>(12205) </i></li>
60 <li ><a href="#">明基</a><i>(1466) </i></li>
61 <li ><a href="#">爱国者</a><i>(3091) </i></li>
62 <li ><a href="#">其它品牌相机</a><i>(7275) </i></li>
63 </ul>
64 <div class="showmore">
65 <a href="#"><span>隐藏全部品牌</span></a>
66 </div>
67 </div>
68 </body>
69 </html>

  2.方法2

  

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>动态列表效果.html</title>
<style type="text/css">
*{ margin:0; padding:0;}
body {font-size:12px;text-align:center;}
a { color:#04D; text-decoration:none;}
a:hover { color:#F50; text-decoration:underline;}
.SubCategoryBox {width:600px; margin:0 auto; text-align:center;margin-top:40px;}
.SubCategoryBox ul { list-style:none;}
.SubCategoryBox ul li { display:block; float:left; width:200px; line-height:20px;}
.showmore { clear:both; text-align:center;padding-top:10px;}
.showmore a { display:block; width:120px; margin:0 auto; line-height:24px; border:1px solid #AAA;}
.showmore a span { padding-left:15px; background:url(img/down.gif) no-repeat 0 0;}
.promoted a { color:#F50;}
</style>
<!-- 引入jQuery -->
<script src="../js/jquery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript">
var flag = true;
$(function(){
//获取第5个之后的且不包括之后一个的li
var liArr = $("li:gt(4):not(:last)");
//隐藏
liArr.hide();
$("span").click(function(){
//状态切换
liArr.toggle();
//判断是否隐藏
if(liArr.is(":hidden")){
$(this).html("显示所有品牌");
}else{
$(this).html("隐藏所有品牌");
}
});
});
</script>
</head>
<body>
<div class="SubCategoryBox">
<ul>
<li ><a href="#">佳能</a><i>(30440) </i></li>
<li ><a href="#">索尼</a><i>(27220) </i></li>
<li ><a href="#">三星</a><i>(20808) </i></li>
<li ><a href="#">尼康</a><i>(17821) </i></li>
<li ><a href="#">松下</a><i>(12289) </i></li>
<li ><a href="#">卡西欧</a><i>(8242) </i></li>
<li ><a href="#">富士</a><i>(14894) </i></li>
<li ><a href="#">柯达</a><i>(9520) </i></li>
<li ><a href="#">宾得</a><i>(2195) </i></li>
<li ><a href="#">理光</a><i>(4114) </i></li>
<li ><a href="#">奥林巴斯</a><i>(12205) </i></li>
<li ><a href="#">明基</a><i>(1466) </i></li>
<li ><a href="#">爱国者</a><i>(3091) </i></li>
<li ><a href="#">其它品牌相机</a><i>(7275) </i></li>
</ul>
<div class="showmore">
<a href="#"><span>显示全部品牌</span></a>
</div>
</div>
</body>
</html>

  很明显,法二比法一简洁了不是一点点,主要是因为法二对jquery的方法和过滤器有了恰当的应用,所以说api真的省事很多,工作中如果总感觉自己code很慢,可能就是api

不能熟练使用的原因qaq。。

jQuery--选择器案例实战的更多相关文章

  1. jquery选择器案例

    一.预期效果 实现一个效果,如下. 品牌列表默认精简显示,单击“显示全部品牌”按钮显示全部品牌,同时列表将推荐的品牌的名字高亮显示,按钮里的文字变成“精简显示品牌”.再次点击“精简显示品牌”回到初始页 ...

  2. jQuery的案例及必知重要的jQuery选择器

    Jquery能做什么 访问和操作DOM元素 控制页面样式 对页面事件进行处理 扩展新的jQuery插件 与Ajax技术完美结合 Jquery的优势 体积小,压缩后只有100KB左右 l强大的选择器 出 ...

  3. JQuery:JQuery基本语法,JQuery选择器,JQuery DOM,综合案例 复选框,综合案例 随机图片

    知识点梳理 课堂讲义 1.JQuery快速入门 1.1.JQuery介绍 jQuery 是一个 JavaScript 库. 框架:Mybatis (jar包) 大工具 插件:PageHelper (j ...

  4. 《锋利的jQuery(第2版)》笔记-第2章-jQuery选择器

    选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器.熟练使用选择器,不仅可以简化代码,而且可以达到事半功倍的效果. 2.1 jQuery选择器是什么 1. ...

  5. 《jQuery权威指南》学习笔记之第2章 jQuery选择器

    2.1 jQuery选择器概述 2.1.1 什么使选择器 2.1.2 选择器的优势: 代码更简单,完善的检测机制  1.代码更简单   示例2-1     使用javascript实现隔行变色 < ...

  6. jQuery选择器---基本选择器总结

    今天要跟大家分享一下jQuery选择器的使用方法,它的选择器分为四大类 如图: 基本选择器的使用: 1.id选择器 案例: <div id="notMe"><p& ...

  7. jQuery选择器---层次选择器总结

    今天要分享的是jQuery层次选择器,层次选择器的分类如图: 接下来就开始了 要不先养养眼精神一下: 开始1.祖先选择器: 案例: <form> <label>Name:< ...

  8. jQuery选择器的优点

    jQuery选择器的优点 相信小伙伴们对选择器并不陌生,从css1到css3的选择器有很多,但是JQuery都能完美的支持,而且API操作起来也特别方便好用,在很大程度上精简了代码,节约了很多性能.那 ...

  9. 图解CSS3核心技术与案例实战(1)

    前言: 我买了一本<图解CSS3核心技术与案例实战>大漠写的,为了提高自己的自觉性呢,抓紧看书,把读书笔记放在这上面,跟大家一起分享,也为督促自己完成读书计划. 文末有微信公众号,感谢你的 ...

  10. Jquery 使用和Jquery选择器

    jQuery中的顶级对象($) jQuery 中最常用的对象即 $ 对象,要想使用 jQuery 的方法必须通过 $ 对象.只有将普通的 Dom 对象封装成 jQuery 对象,然后才能调用 jQue ...

随机推荐

  1. springboot整合mybatisplus使用记录

    1. springboot项目基本配置 springboot基本pom依赖 <parent> <groupId>org.springframework.boot</gro ...

  2. jmeter压测tcp协议接口:java.net.SocketException: Software caused connection abort: socket write error

    tcp接口,试压过程中,部分请求报如下错误: java.net.SocketException: Software caused connection abort: socket write erro ...

  3. java集合框架中contains(),containsKey()和containsValue()的用法:

    List集合的contains()方法用于判断集合中包不包含某个元素,返回值是boolean. Map集合的containsKey()和containsValue()方法和上面的相同. 示例: pub ...

  4. Iptables 防火墙常用配置

    转至:https://blog.csdn.net/lswzw/article/details/87971259 Iptables 防火墙常用配置 概念 命令行模式 查看 & 命令 -n:直接显 ...

  5. killall 、kill 、pkill 命令区别

    转至:https://zhuanlan.zhihu.com/p/87904563 killall 命令 Linux系统中的killall命令用于杀死指定名字的进程(kill processes by ...

  6. [HITCON 2017]SSRFme

    explode()   字符串转数组,用 ,号分隔数组 @mkdir()    创建目录 @chdir() 改变目录 这两的效果一样,如果在/home/php 目录下,执行mkdir('var') 和 ...

  7. WPS:将题注与章节连接起来

    右键图片添加题注,在题注设置中勾选题注编号中的包含章节编号

  8. Python:PIL(二)——相关概念

    学习自:PIL官方文档--Concepts 写在最前:PIL只处理栅格(Raster)数据 1.Bands 一幅图像由一个或多个波段的数据组成.PIL允许我们在单幅图像中存储多个波段,前提是它们有相同 ...

  9. k8s全方位监控中-常用rules配置

    [root@VM_0_48_centos prometheus]# cat alertmanager-configmap.yaml apiVersion: v1 kind: ConfigMap met ...

  10. VSCode 安装Vue 插件 - vetur

    想要编辑器识别vue文件需要安装vue插件,在VSCode上好用的是vetur 如下图:(如果没有安装就会出现安装按钮,点击进行安装) 安装完成之后,重启VSCode,就能识别vue文件了,方便我们编 ...