最近闲暇下来,决定学习学习Jquery。以后准备把Jquery的学习整理成笔记,方便自己以后学习参考。
首先研究学习了下Jquery的选择器功能,给我的感觉确实是太强大了,做了个小例子。代码贴出来,包括注释,方便自己查阅。
这个小例子是做个相机列表页面,当点击“显示所有产品列表”时候,所有产品显示,并高亮其中一部分产品。点击“精简显示”时,隐藏部分列表。首先准备个html页面,初始代码如下
然后为这个html添加样式,样式代码如下
接着就要对这个列表进行操作了,加上Jquery的代码如下
然后,就可以实现功能了,初始化进去的图片如下
[img]http://dl.iteye.com/upload/attachment/283452/e6065bb3-84dd-3f75-9110-7920784988d3.jpg[/img]
点击“显示全部品牌”后的页面如下
[img]http://dl.iteye.com/upload/attachment/283454/553280ff-89a5-390d-92eb-089be98c8e34.jpg[/img]
再点击“精简显示品牌”后页面如下
[img]http://dl.iteye.com/upload/attachment/283456/4301ab88-883e-37d2-a52a-8074aff16052.jpg[/img]
ok,效果达到了,完成。
首先研究学习了下Jquery的选择器功能,给我的感觉确实是太强大了,做了个小例子。代码贴出来,包括注释,方便自己查阅。
这个小例子是做个相机列表页面,当点击“显示所有产品列表”时候,所有产品显示,并高亮其中一部分产品。点击“精简显示”时,隐藏部分列表。首先准备个html页面,初始代码如下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="css/style.css" type="text/css">
<script type="text/javascript" src="js/jquery-1.3.1.js">
</script>
<title>Jquery Test</title>
</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>
<div class="showmore">
<a href="more.html"><span>显示全部品牌</span></a>
</div>
</body>
</html>
然后为这个html添加样式,样式代码如下
* {
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;
}
接着就要对这个列表进行操作了,加上Jquery的代码如下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="css/style.css" type="text/css">
<script type="text/javascript" src="js/jquery-1.3.1.js">
</script>
<script type="text/javascript">
$(function(){ // 等待DOM加载完毕.
var $category = $('ul li:gt(5):not(:last)');// 获得索引值大于5的品牌集合对象(除最后一条)
$category.hide(); // 隐藏上面获取到的jQuery对象。
var $toggleBtn = $('div.showmore > a'); // 获取"显示全部品牌"按钮
$toggleBtn.click(function(){
if($category.is(":visible")){ // 如果元素显示
$category.hide(); // 隐藏$category
$('.showmore a span')
.css("background","url(img/down.gif) no-repeat 0 0")
.text("显示全部品牌"); // 改变背景图片和文本
$('ul li').removeClass("promoted"); // 去掉高亮样式
}else{
$category.show(); // 显示$category
$('.showmore a span')
.css("background","url(img/up.gif) no-repeat 0 0")
.text("精简显示品牌"); //改变背景图片和文本
$('ul li').filter(":contains('佳能'),:contains('尼康'),:contains('奥林巴斯')")
.addClass("promoted"); //添加高亮样式
}
return false; //超链接不跳转
})
})
</script>
<title>Jquery Test</title>
</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>
<div class="showmore">
<a href="more.html"><span>显示全部品牌</span></a>
</div>
</body>
</html>
然后,就可以实现功能了,初始化进去的图片如下
[img]http://dl.iteye.com/upload/attachment/283452/e6065bb3-84dd-3f75-9110-7920784988d3.jpg[/img]
点击“显示全部品牌”后的页面如下
[img]http://dl.iteye.com/upload/attachment/283454/553280ff-89a5-390d-92eb-089be98c8e34.jpg[/img]
再点击“精简显示品牌”后页面如下
[img]http://dl.iteye.com/upload/attachment/283456/4301ab88-883e-37d2-a52a-8074aff16052.jpg[/img]
ok,效果达到了,完成。