1

私はjqueryを学び始めたばかりですが、かなり単純だと思うことに行き詰まっています。

div に影を追加したいのですが、これはうまくできますが、menu-shadow という名前のすべての div にクラスが追加されます。現在のスライドにのみ追加します。

もう少し理解を深めるために、フィドルを作成しました。いくつかのサブメニューを上に移動すると、現在移動中のスライドにのみ追加されるはずの右側に影が追加されることに気付くでしょう。

jqueryはこちら

// Add shadow to menu once link has been clicked
$('.back').click(function() {
    setTimeout(function(){
        $('.sub-menu').addClass('menu-shadow');
    },10);
});

私はそれがこのようなものであるべきだと思います

$(this).next('.sub-menu').addClass('menu-shadow');

しかし、それは機能しません。

ここにフィドルがあります。http://jsfiddle.net/R6wHG/22/ 1 レベル上がれば問題ないことに気付くでしょう。2 レベル上に上がると + すべてのサブメニューが同じであるために問題が発生します。クラス

4

1 に答える 1

2

クリックされたボタンの親です

$('.back').click(function () {
    var $this = $(this);
    setTimeout(function () {
        $this.parent().addClass('menu-shadow');
        //or $this.closest('.sub-menu').addClass('menu-shadow');
    }, 10);
});
于 2013-10-19T14:12:35.613 に答える