JQuery - 第一课 某网站品牌列表精简/全部显示效果的实现
品牌列表,实现全部显示/精简显示的切换。
注意点:
1.思考诸如类似js/ajax的实现的思路,思考路线(思考ajax扩展)。
2.理解javascript基于事件模型的特点
3.理解Jquery常见函数能简化代码的优点
初始,精简显示
单击按钮, 全部显示,并高亮显示推荐品牌
实现:
1.设计静态HTML样式及内容
<body> <div class="SubCategoryBox"> <ul> <li><a href="#">佳能</a><i>(2000)</i></li> <li><a href="#">索尼</a><i>(2000)</i></li> <li><a href="#">三星</a><i>(2000)</i></li> <li><a href="#">尼康</a><i>(2000)</i></li> <li><a href="#">松下</a><i>(2000)</i></li> <li><a href="#">卡西欧</a><i>(2000)</i></li> <li><a href="#">佳能2</a><i>(2000)</i></li> <li><a href="#">佳能3</a><i>(2000)</i></li> <li><a href="#">佳能4</a><i>(2000)</i></li> <li><a href="#">佳能5</a><i>(2000)</i></li> <li><a href="#">佳能5</a><i>(2000)</i></li> <li><a href="#">佳能6</a><i>(2000)</i></li> <li><a href="#">佳能7</a><i>(2000)</i></li> <li><a href="#">佳能8</a><i>(2000)</i></li> <li><a href="#">佳能9</a><i>(2000)</i></li> <li><a href="#">其他</a><i>(2000)</i></li> </ul> <div class="showMore"> <a href="#"><span>显示全部</span></a> </div> </div> </body>
*{ 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;background:#FFF000; border:solid 3px green;
}
.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;}
2.逐步分解,分叉交互过程及图文变化
$(document).ready(function(){ var $category = $('ul li:gt(5):not(:last)'); $category.hide(); var $toggleBtn = $('div.showMore > a'); $toggleBtn.toggle(function(){ $category.show(); $('.showMore a span').css("background", "url(images/up.gif) no-repeat 0 0").text("精简显示"); $('ul li').filter(":contains('索尼'),:contains('其他')").addClass("promoted"); },function(){ $category.hide(); $('.showMore a span').css("background", "url(images/down.gif) no-repeat 0 0").text("显示全部"); $('ul li').removeClass("promoted"); }); })