2009.12.17(4)——jquery例子 全部显示与精简显示
我希望的效果是,10个东西 我先显示6个,然后点击“全部显示”就把10个东西全部显示,这时,“全部显
示”按钮变为“精简显示”,再点击,就又会显示6个,如此反复
先看html代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>数码相机</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(images/down.gif) no-repeat 0 0;}
.promoted a { color:#F50;}
</style>
</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="more.html"><span>全部显示品牌</span></a>
</div>
</div>
</body>
</html>
1.首先,隐藏一些li,比如说7个以后都隐藏,但是最后一个“其他相机”是不能隐藏的
var $hide = $('ul li:gt(5):not(:last)');
$hide.hide();
2.点击“全部显示”显示所有的
var $show = $('div.showmore > a');
$show.click(function(){
$hide.show();
});
3.把“全部显示”改为“精简显示”
$('.showmore a span').text("精简显示");
4.然后可以加点效果,比如说高亮显示一些品牌
$('ul li').filter(".contains('佳能')",":contains('爱国者')").addClass("promoted");
5.有个问题,大家会发现,因为那个“全部显示”是一个超链接,就会跳转到其他页面,所以,我们要给浏
览器返回一个false,这五步代码如下
$(function(){
var $hide = $('ul li:gt(7):not(:last)');
$hide.hide();//隐藏
var $show = $('div.showmore > a');
$show.click(function(){
$hide.show();//显示
//改变提示内容
$('.showmore a span').css("background","url(images/up.gif)no-repeat 0
0").text("精简显示品牌");
//高亮显示
$('ul li').filter(":contains('佳能'),:contains('柯达'),:contains('爱国
者')").addClass("promoted");
return false;//return false让浏览器认为用户没有单击该链接
});
})
6.然后,应该是单机“精简显示”,只显示一部分,但是,有个问题 我们点击的是同一个链接,这如何来区
分呢?我们可以根据是hide还是show来区分
if($hide.is(":visible")){}else{}//判断是否显示
jquery的全部代码如下:
<script type="text/javascript" src="scripts/jquery-1.3.2.js"></script>
<script type="text/javascript">
$(function(){
var $hide = $('ul li:gt(7):not(:last)');
$hide.hide();//隐藏
var $show = $('div.showmore > a');
$show.click(function(){
if($hide.is(":visible")){
$hide.hide();
$('.showmore a span').css("background","url(images/down.gif)no
-repeat 0 0").text("全部显示品牌");
//不高亮显示
$('ul li').removeClass("promoted");
}else{
$hide.show();//显示
//改变提示内容
$('.showmore a span').css("background","url(images/up.gif)no-
repeat 0 0").text("精简显示品牌");
//高亮显示
$('ul li').filter(":contains('佳能'),:contains('柯
达'),:contains('爱国者')").addClass("promoted");
}
return false;//return false让浏览器认为用户没有单击该链接
});
})
</script>
分享到:
相关推荐
基于因子分析的我国A股上市...争力评价——以医药企业为例_张澳.caj
**jQuery.downCount.js插件详解** 在Web开发中,倒计时功能经常被用于各种应用场景,比如活动开始、产品发布、考试倒计时等。jQuery.downCount.js是一款简单易用的jQuery插件,专为实现这种功能而设计。本文将详细...
《jQuery核心原理与应用实践》 jQuery,作为一个广泛使用的JavaScript库,自2006年发布以来,就以其简洁的API和强大的功能深受开发者喜爱。本文将深入探讨jQuery的核心原理,以及如何在实际项目中有效地引用和使用...
jquery.treegrid.min.js jquery.treegrid.min.jsjquery.treegrid.min.jsjquery.treegrid.min.js
《jQuery 1.9.1:深入理解与应用》 jQuery,这个JavaScript库,自2006年发布以来,以其简洁的API和强大的功能,迅速成为开发者们首选的前端工具之一。本篇文章将深入探讨jQuery 1.9.1版本,包括其核心特性、性能...
然而,对于生产环境,通常我们会选择使用压缩版的jQuery——jquery-3.3.1.min.js。这个版本是经过Minification处理的,即将源代码中不必要的空格、换行和注释去除,甚至对变量名进行混淆,以达到最小化文件大小的...
jquery.treeTable.js jquery.treeTable.js jquery.treeTable.js jquery.treeTable.js jquery.treeTable.js jquery.treeTable.js
jquery.media.js
此外,值得注意的是,jQuery.printArea.js的源文件只有一个——`jquery.printArea.js`,这意味着它的引入和使用非常简洁。只需在页面中引入jQuery库和此插件,然后按照上述方式编写代码,即可实现强大的打印功能。 ...
jquery.mobile.custom.min.js v1.4.2 偶然发现这文件不好找还有挺贵,所以传一个
python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目...
12 java面试——深圳-丰巢科技-Java高级.pdf 13 java面试——深圳-乐信-Java高级.pdf 14 java面试——深圳-蚂蚁金服-Java高级.pdf 15 java面试——深圳-商汤科技-Java高级.pdf 16 java面试——深圳-腾讯-Java高级....
文件说明: 1,安装说明.txt ——————————安装手册 2,jdk-170.tar.gz ————...4,check_java.sh———————————版本核对 注意:使用命令接口切换时,需要将自己配置的环境变量注释或者删掉!!!
jquery.form.js jquery.form.js
在我们讨论的文件 "jquery-ui-1.9.2.custom.min.js" 中,我们可以看到这是该库的一个特定版本——1.9.2的自定义最小化版本。这个文件的核心在于“定制”和“最小化”,这两个特点使得它在实际项目中更具灵活性和效率...
jquery.form.min.js是一个异步提交表单的插件,使用该插件可以设置callback函数,并且页面不会跳转
嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟...
页面滚动监听插件,配合jquery.countup.min.js数字动画插件实现数字滚动动画
《jQuery.marquee.js插件深度解析与应用指南》 在Web开发中,滚动效果常常用于吸引用户的注意力,jQuery.marquee.js就是一款专为实现这种滚动效果而设计的JavaScript插件。该插件基于广泛使用的jQuery库,使得创建...
jquery.timers-1.2.js 定时器插件