Javascript Jquery-尝试隐藏和显示一堆图像

Javascript Jquery-尝试隐藏和显示一堆图像,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我的jquery代码有点小问题。我是Jquery新手,所以请帮助我改进代码。我正试图隐藏和显示这4张图片。让我详细解释一下: 我创建了这4个图像(并排放置) 当一个单击时,它应该展开并隐藏另一个 当展开单击时,它应返回其正常尺寸并显示另一个 然后应该重复 我的代码在第一次运行时似乎可以正常工作,但在第二次运行时却出现了问题(图像的行为与我想象的不一样) 这是我的密码: 您可以使用toggleClass和toggle方法简化代码: $(".showcase" ).on("click", "img"

我的jquery代码有点小问题。我是Jquery新手,所以请帮助我改进代码。我正试图隐藏和显示这4张图片。让我详细解释一下:

  • 我创建了这4个图像(并排放置)
  • 当一个单击时,它应该展开并隐藏另一个
  • 当展开单击时,它应返回其正常尺寸并显示另一个
  • 然后应该重复
  • 我的代码在第一次运行时似乎可以正常工作,但在第二次运行时却出现了问题(图像的行为与我想象的不一样)

    这是我的密码:

    您可以使用
    toggleClass
    toggle
    方法简化代码:

    $(".showcase" ).on("click", "img", function(e) {
        $(this).toggleClass("expand");
        $(this).siblings().toggle("fast"); 
    });
    
    演示:

    试试看

    $(".showcase img" ).click(function(e) {
        if( $(this).hasClass('expand')) {
          $(this).removeClass("expand").addClass("normal").show("fast");
          $(this).siblings().show("fast");
        } else {
          $(this).addClass("expand").removeClass("normal");
          $(this).siblings().hide("fast");
        }
      });
    

    请将您的代码放在此处。问题应该是完整的。不应该让人们访问一些非现场资源。尝试使用toggleClass toggle隐藏和显示。是的,我知道了:)谢谢heapsYes,不客气。您的问题是,您没有
    。最初展开
    元素以将单击事件绑定到。在这种情况下,您可以使用事件委派
    $('.showcase')。在('click','.expand',function(){…})
    上。您需要添加
    $(此)。在else部分中删除类(“normal”)