用jquery实现点击栏目背景色改变
作者:
用jquery如何实现点击一栏目实现栏目变色,再点击另一栏目也变色,但原来的变回原色,本文提供解决方法,需要了解的朋友可以参考下
用jquery如何实现点击一栏目实现栏目变色,再点击另一栏目也变色,但原来的变回原色,我有个数组a(1,2,3,我循环遍历输出a的值。
<ul>
<li><a onclick="show();"><b>a[0]<b><a></li>
<li><a onclick="show();"><b>a[1]<b><a></li>
<li><a onclick="show();"><b>a[2]<b><a></li>
点击1,1变色,点击2,2变色,但1会变回原来的颜色.我show方法实现了其他的功能.
下面是我初试的代码:
HTML code:
<style type="text/css">
.clckClass{color:red;}
</style>
<script type="text/javascript">
$('ul li a').bind('click', function(){
$('ul li a:not(this)').removeClass('clckClass');
$(this).addClass('clckClass');
});
</script>JScript code:
<style type="text/css">
.clckClass{color:red;}
</style>
<script type="text/javascript">
$('ul li a').bind('click', function(){
$('.clckClass').removeClass('clckClass');
$(this).addClass('clckClass');
});
</script>
上面的代码中,样式‘clckClass‘可能在其他元素上使用,使用$(‘.clckClass').removeClass(‘clckClass');会将画面上所用使用clckClass样式的元素移出clckClass样式的。这显然不是我们要得结果,我们只需要移出ul li a下的clckClass样式。不过后来发现上面的代码中,唯一一点是那个clckClass只能在这几个标签使用,如果其他也用的话,就可能会影响效果,是我考虑不周到,我只考虑了clckClass这个样式只应用在这上面的情况,那么根据这个可以做一下小的修改,如下:
JScript code:
<style type="text/css">
.clckClass{color:red;}
</style>
<script type="text/javascript">
var removeClassA = $('ul li a.clckClass');
$('ul li a').bind('click', function(){
removeClassA .removeClass('clckClass');
$(this).addClass('clckClass');
removeClassA = $(this);
});
</script> 这样写将拥有clckClass这个类的节点保存在变量中,下一次点击时可以不用进行一次遍历,速度会快一点.
复制代码 代码如下:
<ul>
<li><a onclick="show();"><b>a[0]<b><a></li>
<li><a onclick="show();"><b>a[1]<b><a></li>
<li><a onclick="show();"><b>a[2]<b><a></li>
点击1,1变色,点击2,2变色,但1会变回原来的颜色.我show方法实现了其他的功能.
下面是我初试的代码:
HTML code:
复制代码 代码如下:
<style type="text/css">
.clckClass{color:red;}
</style>
<script type="text/javascript">
$('ul li a').bind('click', function(){
$('ul li a:not(this)').removeClass('clckClass');
$(this).addClass('clckClass');
});
</script>JScript code:
<style type="text/css">
.clckClass{color:red;}
</style>
<script type="text/javascript">
$('ul li a').bind('click', function(){
$('.clckClass').removeClass('clckClass');
$(this).addClass('clckClass');
});
</script>
上面的代码中,样式‘clckClass‘可能在其他元素上使用,使用$(‘.clckClass').removeClass(‘clckClass');会将画面上所用使用clckClass样式的元素移出clckClass样式的。这显然不是我们要得结果,我们只需要移出ul li a下的clckClass样式。不过后来发现上面的代码中,唯一一点是那个clckClass只能在这几个标签使用,如果其他也用的话,就可能会影响效果,是我考虑不周到,我只考虑了clckClass这个样式只应用在这上面的情况,那么根据这个可以做一下小的修改,如下:
JScript code:
复制代码 代码如下:
<style type="text/css">
.clckClass{color:red;}
</style>
<script type="text/javascript">
var removeClassA = $('ul li a.clckClass');
$('ul li a').bind('click', function(){
removeClassA .removeClass('clckClass');
$(this).addClass('clckClass');
removeClassA = $(this);
});
</script> 这样写将拥有clckClass这个类的节点保存在变量中,下一次点击时可以不用进行一次遍历,速度会快一点.
您可能感兴趣的文章:
- jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
- jQuery实现鼠标滑过Div层背景变颜色的方法
- jquery改变tr背景色的示例代码
- Jquery的hover方法让鼠标经过li时背景变色
- jquery 实现的改变颜色与背景的代码 change(fontsize,background)补充2
- jQuery 行背景颜色的交替显示(隔行变色)实现代码
- jQuery与js实现颜色渐变的方法
- jQuery实现的文字hover颜色渐变效果实例
- jQuery实现的立体文字渐变效果
- jquery实现两个图片渐变切换效果的方法
- jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】