2014-10-05 61 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"); 

並解決所有問題。希望這可以幫助。