老师,为什么人只有前两个标签的背景色会变化呢?

来源:5-1 事件参数

Elisa呀

2020-02-29 00:22:52

http://img.mukewang.com/climg/5e593e5b096e8acb08160182.jpg

// $(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回答

好帮手慕夭夭

2020-02-29

同学你好 ,老师这边使用源码测试,只有第一个导航在鼠标移出时,会恢复背景色。

http://img.mukewang.com/climg/5e5a3ef309e01bf715570175.jpg

这是因为如下代码不对:

http://img.mukewang.com/climg/5e5a3fbc09199ad105530183.jpg

叹号是取反的意思 ,除了0之外,其他的正整数取反都是false 。而false转换为数值类型就是0 。所以只有第一个可以设置成白色。建议如下修改:

http://img.mukewang.com/climg/5e5a40460998541b07060460.jpg

siblings()方法查找被选元素的所有同级元素 。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

好帮手慕夭夭

2020-02-29

同学你好,粘贴的代码不全,这边无法测试查看效果。请把全部代码粘贴到问答区,以便老师定位问题。

祝学习愉快 !

0
hlisa呀
h 就是课上老师讲的例子,index和css是一样的,我直接从源代码复制的,这个是完整的 js 呀,我修改的,是全的
h020-02-29
共1条回复

0 学习 · 14456 问题

查看课程