0

我是 JS 新手,需要一些帮助!

我有 2 个盒子(div),每个盒子都有一个滑块。当我将鼠标悬停在其中任何一个上时,两个滑块都被激活。

我将如何做到这一点,以便每个 div 单独激活。

这是我正在做的事情的照片,可能会更清楚一点:

pic.twitter.com/1ju3iZ0KIM - 鼠标悬停之前 pic.twitter.com/gmfhl1zl2J - 鼠标悬停

非常感谢!

这是我的 JS

<script type="text/javascript">
    $(document).ready(function(){
        $('.up-down').mouseover(function(){
            $('.default').stop().animate({
                height: 0  
            }, 200);                        
        }).mouseout(function(){
            $('.default').stop().animate({
                height: 170 
            }, 200)    
        })
    });
</script>

我的 div

<div class="squareFeedBox">
    <div class="up-down">
        <div class="slide default"></div>
        <div class="slide onhover"></div>
    </div>
</div>
<div class="squareFeedBox">
    <div class="up-down">
        <div class="slide default"></div>
        <div class="slide onhover"></div>
    </div>
</div>

我的 CSS

/内容框/

.squareFeedBox
{
    background-color: #fff;
    width: 278.5px;
    height: 207px;
    margin-right: 16px;
    margin-bottom: 16px;
    float: left;
    border-radius: 3px;
    box-shadow: 2px 2px 5px #0f2134;
    overflow: hidden;
}

/*upSlider*/

.up-down 
{
    overflow:hidden;
    height: 207px;
    width: 278.5px;
}

.slide 
{
    width:278.5px;
    height:207px;
}



.default 
{
    background-color:#fff;
    height: 170px;
    width: 278.5px;
}

.onhover 
{
    background-color:#1DB7CB;
    height: 207px;
    width: 278.5px;  
}
4

1 回答 1

2
$(document).ready(function(){
    $('.up-down').mouseover(function(){
        $(this).find('.default').stop().animate({
            height: 0  
        }, 200);                        
    }).mouseout(function(){
        $(this).find('.default').stop().animate({
            height: 170 
        }, 200)    
    })
});

使用$(this).find 将查找.default包含在当前元素中的特定元素,而不是每个.default.

于 2013-03-08T19:29:53.613 回答