1

次のように、クラスと2つのコンテナを含むサムネイルコンテナがたくさんあります。

<div id="color_dance" class="thumb">
    <img class="thumb_img" src="http://www.klossal.com/portfolio/tile_dance_color.jpg">
    <div class="thumb_info info_color_2"><p class="tile_info_1"> Space Series</p><p class="tile_info_2">Photoshop, Wacom Tablet</p></div>
</div>

.thumb_infoそれをクリックすると、すべての要素のクラスをからinfo_color_3に切り替えたいのですがinfo_color_2、クリックしたものとは逆に、クラスをからinfo_color_2に切り替えますinfo_color_3

これは私が思いついたJSですが、機能しておらず、理由はわかりません。

$(".thumb").click(function() {
    $(".thumb_info").not(this).switchClass("info_color_3", "info_color_2", 300);
    $(this).find('.thumb_info').
    function() {
        $(this).switchClass("info_color_2", "info_color_3", 300);
    });
});​
4

2 に答える 2

2

呼び出すことはできませんfind('.thumb_info').function().switchClass()ただし、によって返される要素を呼び出すことができます.find()

次のようなコードを使用してみてください。

$(".thumb").click(function() {
    $(".thumb_info").not(this).switchClass("info_color_3", "info_color_2", 300);

    $(this).find('.thumb_info').switchClass("info_color_2", "info_color_3", 300);
});​

デモ

于 2012-11-29T20:24:51.997 に答える
0

この関数はまだ使用していませんが、「$(this).find('。thumb_info')」の間の「each」を忘れましたか。と「機能」?

これを試して:

$(".thumb").click(function() {
   $(".thumb_info").not(this).switchClass( "info_color_3", "info_color_2", 300 );
   $(this).find('.thumb_info').each(function() {
     $(this).switchClass( "info_color_2", "info_color_3", 300 );
   });
});
于 2012-11-29T20:24:43.103 に答える