jQuery鼠标悬停方向感知移入效果

Posted byeno

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery鼠标悬停方向感知移入效果相关的知识,希望对你有一定的参考价值。

jQuery鼠标悬停方向感知移入效果

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>jQuery鼠标悬停方向感知移入效果</title>
<style>
* {
padding: 0;
margin: 0;
}

body {
background-color: #2A2A2A
}

li {
list-style: none;
}

#wrap {
width: 800px;
height: 360px;
margin: 100px auto;
}

#wrap ul {}

#wrap ul li {
float: left;
margin: 5px;
width: 230px;
height: 360px;
position: relative;
overflow: hidden;
}

#wrap ul li img {
display: block;
}

#wrap ul li .cove {
width: 230px;
height: 220px;
position: absolute;
top: 0;
left: 230px;
background: url(img/new-bg.png);
padding: 140px 0 0 0;
}

#wrap ul li .cove p {

font-size: 14px;
font-family: 微软雅黑;
color: #fff;
text-align: center;
}
</style>
</head>

<body>
<div id="wrap">
<ul>
<li>
<img src="img/1.png" alt="">
<a href="">
<div class="cove">
<p>pci1</p>
<p>Picture info 1</p>
</div>
</a>
</li>
<li>
<img src="img/2.png" alt="">
<a href="">
<div class="cove">
<p>pci2</p>
<p>Picture info 2</p>
</div>
</a>
</li>
<li>
<img src="img/3.png" alt="">
<a href="">
<div class="cove">
<p>pci3</p>
<p>Picture info 3</p>
</div>
</a>
</li>
<li>
<img src="img/4.png" alt="">
<a href="">
<div class="cove">
<p>pci4</p>
<p>Picture info 4</p>
</div>
</a>
</li>
<li>
<img src="img/5.png" alt="">
<a href="">
<div class="cove">
<p>pci5</p>
<p>Picture info 5</p>
</div>
</a>
</li>
<li>
<img src="img/6.png" alt="">
<a href="">
<div class="cove">
<p>pci6</p>
<p>Picture info 6</p>
</div>
</a>
</li>
</ul>
</div>
<script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>
<script>
(function() {
var $li = $('#wrap ul li');
$li.hover(function(ev) {

move.call(this, ev, true);

}, function(ev) {
move.call(this, ev, false);
});

function move(ev, bool) {

var top = $(this).offset().top;
var bottom = top + $(this).height();
var left = $(this).offset().left;
var right = left + $(this).width();

var x = ev.pageX,
y = ev.pageY;

var sT = Math.abs(y - top),
sB = Math.abs(y - bottom),
sL = Math.abs(x - left),
sR = Math.abs(x - right);

var a = Math.min(sT, sB, sL, sR);

switch (a) {

case sT:
if (bool) {
$(this).find('.cove').css({
left: 0,
top: '-360px'
}).animate({
top: 0
}, 200);
} else {
$(this).find('.cove').stop(1, 1).animate({
top: '-360px'
}, 200);
}
break;
case sB:
if (bool) {
$(this).find('.cove').css({
left: 0,
top: '360px'
}).animate({
top: 0
}, 200);
} else {
$(this).find('.cove').stop(1, 1).animate({
top: '360px'
}, 200);
}
break;
case sL:
if (bool) {
$(this).find('.cove').css({
left: '-230px',
top: 0
}).animate({
left: 0
}, 200);
} else {
$(this).find('.cove').stop(1, 1).animate({
left: '-230px'
}, 200);
}
break;
case sR:
if (bool) {
$(this).find('.cove').css({
left: '230px',
top: 0
}).animate({
left: 0
}, 200);
} else {
$(this).find('.cove').stop(1, 1).animate({
left: '230px'
}, 200);
}

break;
}
}
})();
</script>
</body>

</html>

链接:http://pan.baidu.com/s/1c1ONIMW

密码:llx9

以上是关于jQuery鼠标悬停方向感知移入效果的主要内容,如果未能解决你的问题,请参考以下文章

带有“鼠标方向”的悬停的 jQuery 动画

jquery如何animate防止叠加 例如我把鼠标不断移入移出 效果就会不断重复,如何防止呢?

比如一个div元素,当鼠标mouseover事件触发时,我想知道从上左下右哪个方向移入进去的.

纯css3鼠标悬停感知移动效果

jquery鼠标移入移出

scss 方向感知悬停效果