老师,为什么人只有前两个标签的背景色会变化呢?
来源:5-1 事件参数
Elisa呀
2020-02-29 00:22:52
// $(document).ready(function(){
// $('a').click(function(){
// $('img').eq($(this).index()).css({'opacity':'1'}).siblings().css({'opacity':'0'})///有多个a,this可以定位到当下点击的这个a,.index可以获取点击的a的下标。获取之后,设置它的透明度位1,然后获取其兄弟元素
// })
// })
$(document).ready(function(){
// $('a').click(function(){
// $('img')
// .eq($(this).index())
// .css({'opacity':'1'})
// .siblings()
// .css({'opacity':'0'})
// //有多个a,this可以定位到当下点击的这个a,.index可以获取点击的a的下标。获取之后,设置它的透明度位1,然后获取其兄弟元素,将他们的透明度设置为0
// });
var index=0;
$('a').mouseenter(function(){
index=$(this).index();
swiper();
});
$(document).keydown(function(event){
if(event.keyCode==37){
if(index==0){
index=$('a').length-1;
}else{
index--
}
swiper();
}else if(event.keyCode==39){
if(index==$('a').length-1){
index=0
}else{
index++
}
swiper()
}
});
var swiper=function(){
$('img')
.eq(index)
.css({'opacity':'1'})
.siblings()
.css({'opacity':'0'});
$('a').eq(index).css({
'background':'red'
})
$('a').eq(!index).css({
'background':'white'
})
}
});
2回答
同学你好 ,老师这边使用源码测试,只有第一个导航在鼠标移出时,会恢复背景色。
这是因为如下代码不对:
叹号是取反的意思 ,除了0之外,其他的正整数取反都是false 。而false转换为数值类型就是0 。所以只有第一个可以设置成白色。建议如下修改:
siblings()方法查找被选元素的所有同级元素 。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
好帮手慕夭夭
2020-02-29
同学你好,粘贴的代码不全,这边无法测试查看效果。请把全部代码粘贴到问答区,以便老师定位问题。
祝学习愉快 !
相似问题