悬停时jQuery slide div从左到右

时间:2014-03-10 14:47:15

标签: javascript jquery css

我想在悬停时将此jquery从左到右修复:http://jsfiddle.net/PXLJG

HTML:

<div class="holdingbox">
<span class="rightbox">
    <span class="content">Kenyér</span>
</span>
<span class="leftbox">></span>

jQuery:

$('.holdingbox').hover(function(){
    $('.rightbox').animate({width: '90px'}, 1000)
}, function(){
    $('.rightbox').animate({width: '-0'}, 1000)
});

CSS:

div {
    display : inline-block;
}
.holdingbox {
    position: relative;
    top: 0;
    margin-left: 100px;
}

.leftbox {
    position: relative;
    top: 0;
    left: 0;
    display: inline-block;
    font-size: 24px;
    background-color: #ac193d;
    color: #FFF;
    font-weight: bold;
    padding: 1px;
}
.rightbox {
    position: relative;
    display: inline-block;
    overflow: hidden;
    width: 0;
    height: 30px;
    vertical-align: top;
    margin-right: 0;
}
.content{
    width: 100px;
    position: absolute;
    background-color: #ac193d;
    height: 29px;
    left: 0;
    top: 0;
    right: 0;
    color: #FFF;
    padding-left: 5px;
}

例如:http://www.jamieoliver.com/ - &gt;滑块上的上一个下一个箭头(我需要!!)

我的问题是当我试图将鼠标悬停在“&gt;”上时(箭头)从左到右滑动。但当我一次又一次地徘徊,同时动画滑动到'width:0'并且我将鼠标从div中移开时,动画不会停止并仍然从左到右徘徊X次我在div上盘旋。谁能解决这个问题怎么解决这个问题?

P.S。:我想这个问题可以通过.stop()函数来解决。怎么样?

1 个答案:

答案 0 :(得分:4)

您可以使用.stop()来停止当前动画: http://jsfiddle.net/PXLJG/2/

$('.rightbox').stop().animate({width: '-0'}, 1000)