-1

わかりました、理解できるように質問を編集しました。段落に10枚の画像とそれぞれの名前があります。つまり、10 個の画像と 10 個の段落があります。画像が異なり、もちろん名前も異なるため、クラスを使用できません。そこで、1 つの画像に ID を使用し、その名前に別の ID を使用しました。

ユーザーが 1 つの画像をクリックすると、画像が非表示になり、それぞれの名前も表示されます。ユーザーが別の画像をクリックすると、すべてが非表示になるまで非表示になり、それぞれの名前が再び表示されます。1 つの画像とそれぞれの名前にクラスを使用できますが、ユーザーは名前ではなく画像をクリックする権利しかありません。まるでアイテム探しゲーム!

以下に1つの画像の例を示します。

$(document).ready(function() {
    $('#image1').click(function() {
        $(this).hide('slow');
        $('#name').hide('slow');
    });

    if ($('#image1').is(':hidden')) {
        alert('Hello');
    }
});​

理解できるように例を変更したことに注意してください。ご覧のとおり、ユーザーが画像をクリックすると、それぞれの名前も非表示になります。どちらも隠れています。次に、画像が非表示になっているかどうかを確認すると、アラート ボックスが表示されます。画像とその名前は非表示になりますが、警告ボックスは表示されません...そして、警告ボックスが表示されるように、画像が非表示になっているかどうかを確認する必要があります。

4

4 に答える 4

0

クリックで非表示になり、クリックで常に両方が非表示になる場合は、これをスクリプトとして使用できます。

$(document).ready (function() {
    $('#image1, #image2').click(function() {
      $('#image1, #image2').hide();

      $('#div').load('page.html', function() {
        alert('Load was performed.');
      });        
    });
});​

「page.html」から正しいコンテンツを返していますか?

于 2012-10-30T19:23:58.440 に答える
0

このコードは、同じハンドラーをクリック イベントにバインドします。これにより、両方の画像が非表示になり、ページが読み込まれます。

$(document).ready(function() {
    $('#image1, #image2').click(function() {
        $('#image1, #image2').hide();
        $('#div').load('page.html');        
    });
});​

コメントで述べたように、関連するすべての画像を選択する方法を考案できます。たとえば、それらを div でラップするか、それらを識別するクラスを追加します。

これを行う方法の例については、thisthis fiddle をご覧ください。

それが役に立てば幸い。

于 2012-10-30T19:18:28.257 に答える
0

あなたの質問を正しく理解していれば、あなたのコードはそのようなものになるはずです。

したがって、私がそれを取得した場合、チェックしたいすべての画像にクラス(myimgclassとしましょう)を追加すると仮定すると、そのようなことができます:

あなたの質問を正しく理解していれば、あなたのコードはそのようなものになるはずです。

したがって、私がそれを取得した場合、チェックしたいすべての画像にクラス(myimgclassとしましょう)を追加すると仮定すると、そのようなことができます:

$(document).ready(function() {
    $('.myimgclass').click(function() {
        //hide >>name here<<

        $(this).hide('slow', function() {
            var check = true;
            $('.myimgclass').each(function() {                
                //we check if image is visible, if so we stop here
                if($(this).is(':visible')) {
                    check = false;
                    return;
                }
            });
            if(check) alert('Hello');
        });
    });

});​

http://jsfiddle.net/s7FXR/を参照してください

于 2012-10-30T20:22:50.693 に答える
0

これがあなたが望むものだと思います:

$(document).ready (function() {
    $('#image1').click(function() {
        $(this).hide('slow');
        $('#image2').hide('slow');

        $('#div').load(page.html');
    });
});
于 2012-10-30T19:13:24.800 に答える