2014-10-05 120 views
0

我想要得到这个工作,如果你把鼠标悬停在照片类的div,照片信息幻灯片在该div(不是两个)。我认为我需要Jquery中的'this',但我有点迷路。我不想给每个div.photo一个单独的ID。我怎样才能修改我的脚本?JQuery幻灯片(这)元素只

    <div class="photo"> 
         <div class="photo-info"><p>Some information</p></div>     
        </div> 
        <div class="photo"> 
         <div class="photo-info"><p>Some information</p></div>     
        </div> 

.photo-信息{显示:无;}

<script> 
$(document).ready(function() { 

$(".photo").hover(function() { 
    $(".photo-info").slideToggle("slow"); 
}); 

}); 
</script> 

回答

1
$(".photo").hover(function() { 
    $(this).find(".photo-info").slideToggle("slow"); 
}); 
1

使用这种在这里你可以得到该div

$(this).children(".photo-info").slideToggle("slow"); 
+0

Vitorino你是一个天才。非常感谢你:) – user1432315 2014-10-05 15:08:10

+0

你的欢迎很高兴帮助:) – 2014-10-05 15:09:28

0

您需要使用this的孩子选择器和find,以确保您只能访问该元素的孩子,如下所示:

$(".photo").hover(function() { 
     $(this).find(".photo-info").slideToggle("slow"); 
    }); 

看看这个jsFiddle

0

为了你确实需要你想要使用this但不要害怕。它实际上非常简单。看看这个片断:

$(".photo").hover(function() { 
    $(".photo-info").slideToggle("slow"); 
}); 

只要用这个代替:

$(this).children(".photo-info").slideToggle("slow"); 

并解决所有问题。希望这可以帮助。