<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>淘宝服装精品</title>
<script src="jquery-1.11.1.min.js"></script>
<style>
*{/*清除原有页面所有边距*/
margin:0;
padding:0;
}
div{/*定义left盒子*/
width: 500px;
height: 500px;
margin: 150px auto;
border: 1px solid red;
}
#ulleft{
width: 50px;
border-right: 1px solid red;/*添加左垂直分隔线*/
}
#ulleft,#ulcenter{
float: left;
}
#ulright{
float: right;
width: 50px;
border-left:1px solid red;/*添加右垂直分隔线*/
}
ul{
list-style: none;/*去除小圆点*/
}
a{/*a标签处理*/
width: 50px;
height: 98px;
line-height: 100px;/*设置行高*/
text-align: center;
display: block;/*设置为块级元素*/
text-decoration: none;/*去除下划线*/
}
img{
width: 400px;
height: 500px;
/* display: none;隐藏图片*/
}
</style>
</head>
<body>
<div>
<ul id="ulleft">
<li><a href="#">0</a></li><hr>
<li><a href="#">1</a></li><hr>
<li><a href="#">2</a></li><hr>
<li><a href="#">3</a></li><hr>
<li><a href="#">4</a></li>
</ul>
<ul id="ulcenter">
<li><a href="#"><img src="../../../图片/一个人⭕⭕的小日子/2.png" alt=""></a></li>
<li><a href="#"><img src="../../../图片/一个人⭕⭕的小日子/5.png" alt=""></a></li>
<li><a href="#"><img src="../../../图片/鬼灭之刃/2.png" alt=""></a></li>
<li><a href="#"><img src="../../../图片/黄昏少女/10.png" alt=""></a></li>
<li><a href="#"><img src="../../../图片/黄昏少女/9.png" alt=""></a></li>
<li><a href="#"><img src="../../../图片/黄昏少女/8.png" alt=""></a></li>
<li><a href="#"><img src="../../../图片/黄昏少女/7.png" alt=""></a></li>
<li><a href="#"><img src="../../../图片/黄昏少女/6.png" alt=""></a></li>
<li><a href="#"><img src="../../../图片/黄昏少女/5.png" alt=""></a></li>
<li><a href="#"><img src="../../../图片/黄昏少女/3.png" alt=""></a></li>
</ul>
<ul id="ulright">
<li><a href="#">5</a></li><hr>
<li><a href="#">6</a></li><hr>
<li><a href="#">7</a></li><hr>
<li><a href="#">8</a></li><hr>
<li><a href="#">9</a></li>
</ul>
</div>
</body>
<script>
// 需求1:给左边的li设置鼠标移入事件,让中间索引对应的li显示,其他的li隐藏
// 需求1:给右边的li设置鼠标移入事件,让中间索引对应的li显示,其他的li隐藏
$(function(){
// 需求1:
$('#ulleft').find('li').mouseenter(function(){
var index1 = $(this).index();//获取当前鼠标移入的li标签索引(即为第几个li标签)
console.log(index1);
// 让中间索引对应的li显示,其他的li隐藏
$('#ulcenter li').eq(index1).show().siblings('li').hide();
});
$('#ulright').find('li').mouseenter(function(){
var index2 = $(this).index();
console.log(index2);
$('#ulcenter li').eq(index2).show().siblings('li').hide();
});
});
</script>
</html>
这得从index的定义说起,当方法index()不传入参数时,其得出的结果是这个元素在同辈中的索引位置。例如:
这时用index()取第一个li的时候,索引值就是1。为什么?因为他有同辈元素div占据了索引值0.例如你上面hr占据了索引。要么你将索引进行:正确索引=错误索引/2,要么想办法去掉"hr”元素,采用li的底下边缘作为分割线等等
$(this).index()这样是获取this在它的父元素内所有子元素中的索引位置,但this的父元素有<hr>,父元素中1,3,5,7的位置是<hr>元素啊。
可以改成 $(this).index("li")这样是获取父元素内所有li元素集合中的索引位置
可以避免使用index,直接hide所有li,然后通过this显示当前li
var index1 = $(this).index();打印下次数this是什么