作为一个代码新手,最近我又学习了一些jQuery的相关知识,所以今天就做了一个小案例。如下:
通过点击图标切换并点亮图标,现在我们就开始做吧 ,首先说一下思路:
我是通过事件委托的方式做的,大致思路就是把所有的图片变成未选中的状态,然后点击图片触发状态,点击事件结束。
就是通过修改路径名实现图片的替换,取相同的地方和不同的地方划分成两部分,图片是根据路径及图片名字显示的,
通过修改图片后一部分的内容,也就实现了图片的切换。
一,现做一个简单的布局,这个就不细说了
<ul id="bottom">
<li class="activeClass" index="1">
<img src="img/nav_init_1.jpg">
<span>首页</span>
</li>
<li index="2">
<img src="img/nav_init_2.jpg">
<span>金融</span>
</li>
<li index="3">
<img src="img/nav_init_3.jpg">
<span>生活</span>
</li>
<li index="4">
<img src="img/nav_init_4.jpg">
<span>健康</span>
</li>
<li index="5">
<img src="img/nav_init_5.jpg">
<span>我的</span>
</li>
</ul>
二,接着开始实现jq功能(前提:要引入jq文件)
这个分为两步:
第一步:把全部路径图片变成灰色
第二步:帮当前点击的图标点亮
$('ul').on("click","li",function(event){
//事件委托
var preindex=$("li.activeClass").attr("index");
// console.log(preindex);
//字体变颜色
$(this).addClass("activeClass").siblings().removeClass("activeClass");
if(event.target.tagName === 'IMG'){
var nodes = $('#bottom li img');
// console.log(nodes);
for(var i=0; i<nodes.length; i++){
//把所有的路径全部变成未选中的图标
nodes[i].src = nodes[i].src.replace(/.jpg|_selected.jpg/,'.jpg');
}
event.target.src = event.target.src.replace(/.jpg|_selected.jpg/,'_selected.jpg');
}}
)
三:最终实现效果
-- -- END