JQuery隐藏的对象

时间:2012-10-30 19:09:52

标签: jquery

好的,我已经编辑了这个问题,以便你能理解。我有10张图片及其各自的名字。所以,你有10个图像和10个段落。由于图像不同,当然,有不同的名称,我不能使用一个类。所以,我在一个图像上使用了ID,在名称中使用了另一个ID。

用户将点击一个图像,它将隐藏及其各自的名称。当用户单击另一个图像时,它将再次隐藏及其相应的名称,直到隐藏所有内容。我可以为一个图像及其各自的名称使用一个类,但用户有权仅单击图像而不是名称。就像一个隐藏的对象游戏!

我将在下面给你一个例子:

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

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

请记住,我改变了示例,以便您能够理解。如您所见,如果用户单击图像,则其相应的名称也将被隐藏。它们都是隐藏的。然后,我验证图像是否隐藏,将显示一个警告框。图像及其名称确实隐藏,但警告框不显示...我必须验证图像是否隐藏,以便显示警告框。

4 个答案:

答案 0 :(得分:0)

我认为这就是你想要的:

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

        $('#div').load(page.html');
    });
});

答案 1 :(得分:0)

此代码将相同的处理程序绑定到click事件,该事件隐藏了两个图像并加载了页面:

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

如评论中所述,您可以设计一种选择所有相关图像的方法。例如,将它们包装在div中或添加一个类来识别它们。

请查看thisthis小提琴,了解如何执行此操作。

希望它有所帮助。

答案 2 :(得分:0)

如果您隐藏在点击上,并且点击将始终隐藏两者,您可以将此作为您的脚本:

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

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

您确定要从'page.html'返回正确的内容吗?

答案 3 :(得分: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/