2

画像ギャラリーがあります。クリックすると、ボディの背景が白から黒に変わるため、画像が際立ちます。

画像をもう一度クリックすると、元に戻ります。

これは私が今持っているものです:

$('img').click(function () {
  $('body').toggleClass("darken");
});

ユーザーがページの任意の場所をクリックして、「暗い」クラスを削除できるようにしたいと考えています。

hasClass ステートメントを試しましたが、成功しませんでした。

if ($('body').hasClass('darken')) {
        $('body').click(function () {
        $(this).toggleClass("darken");
    });
    }

どうもありがとう、クレマン。

4

3 に答える 3

2

クリック イベント ハンドラを にバインドできます<body>。ただし、 でのクリック イベントの伝播を必ず停止してくださいimg

var $body = $("body"), $img = $("img");

$img.click(function(evt) {
  $body.toggleClass("darken");
  evt.stopPropagation();
});

$(document).click(function(){
  $body.removeClass("darken");
});
于 2013-02-07T12:00:05.140 に答える
-1

これはより省略形かもしれませんが、同じことを行います:

$('body.darker').live('click', function() { $(this).removeClass('darker'); } )
于 2013-02-07T11:59:35.490 に答える