2012-10-30 93 views
-1

好吧,我编辑了这个问题,以便你能理解。段落中有10张图片和他们各自的名字。所以,你有10个图像和10个段落。由于图像是不同的,当然,有不同的名字,我不能使用一个类。所以,我用一个ID作为一个图像,另一个ID用作它的名字。JQuery隐藏对象

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

,我会给你一个下面的图像的一个例子:

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

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

请记住,我改变了这个例子,你能理解。正如你所看到的,如果用户点击图片,它的名字也会被隐藏。他们都隐藏起来了。然后,我验证图像是否隐藏,将显示一个警告框。图像及其名称会隐藏,但警告框不会显示...而且我必须验证图像是否隐藏,以便显示警告框。

+0

你在加载功能中在您的页面上忘了报价!你可能应该把if和load都放到你的点击函数中,因为现在它所做的只是检查图像在页面加载时是否可见。 – adeneo

+0

看起来不错,它在这里..隐藏的验证不起作用 – user1780468

+0

它最初肯定是在初始页面加载? – adeneo

回答

0

我想这是你想要的东西:

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

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

不,我会添加更多的图片,所以我必须验证所有必须隐藏然后加载...而图像是不同的,具有不同的ID。所以,他们验证他们,如果他们隐藏我认为是合适的。 – user1780468

0

此代码绑定相同的处理点击事件,其中隐藏图像和加载页面:

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

正如提到的评论你可以设计一种选择所有相关图像的方式。例如,将它们封装在一个div中或添加一个类来识别它们。

看一看thisthis小提琴的例子如何做到这一点。

希望它有帮助。

+0

阅读上面,我解释了第一个响应 – user1780468

0

如果你是隐藏在点击和点击总是隐藏这两项,你可能有这样的脚本:

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

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

你确定你是从你返回正确的内容“page.html中“?

+0

是的..我甚至测试了它的警报代替AJAX来看,但即使是警报不起作用 – user1780468

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/

+0

但有不同的名称。所有图像都有不同的名称,因此如果各自的图像隐藏,则只应隐藏相应的名称,这就是为什么我在此处使用ID的原因......您的代码地址只有一个名称所有图片..只是想象一个隐藏的对象游戏.. – user1780468

+0

阅读新版本,我再次编辑它:http://stackoverflow.com/questions/13147724/jquery-hidden-objects-check – user1780468