* {
margin:0;
}
li {
list-style:none;
}
.list {
width:1200px;
margin:100px auto;
}
.list li {
float:left;
width:240px;
height:240px;
position:relative;
overflow:hidden;
}
.list li img {
width:100%;
height:100%;
display:block;
transition:all 1s;
}
.list li .mask {
background:rgba(255,255,255,0.6);
position:absolute;
left:-1000px;
top:-1000px;
width:100%;
height:100%;
box-sizing:border-box;
padding:0 30px;
padding-top:30px;
color:#003eff;
}
.list li:hover img {
transform:scale(1.5);
}
当每一个选项有鼠标滑入时,会滚据进入的方向滑入一个半透明浮层,当鼠标滑出时,再按照滑出的方向进行隐藏
Math.atan2(y, x) 反正切的弧度值 (返回的值是 -PI/2 到 PI/2 之间的弧度值);
弧度值 * (180 / Math.PI) = 角度值;
返回的角度值 是-180°到180°(+180)就是0-360°了
0-360° 除以90° 返回值 是(0.xxxx - 3.xxxx 的小数)等于是 对应在 一二三四的象限(数学中三角函数的象限)里了
此时的Y Y构成的坐标轴(对应DIV的中心点)是正常的垂直水平线X和垂直X轴的Y,+3 就把XY轴旋转一定角度,即坐标轴构成这个div的两根对角线 对角线把DIV分成4部分 对应的就是 四象限。 根据四象限的正切值 判断 鼠标是从上下左右哪个方向进入的
回复var direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;这句看蒙逼了,为什么 + 180) / 90) + 3) % 4,我知道这部的目的是判断戍边距离哪个边框最近,但不知道怎么实现的,求大神指点
回复