javascript - Onclick 启用单击的图像并禁用其他图像

标签 javascript html jquery onclick jquery-events

我想使用 Javascript onclick 创建一个事件,该事件将启用单击的图像并禁用其他图像。

例如,如果我有6张图片,我该如何执行以下操作:我想单击任何图片,例如图片3,则图片3将被启用,图片1,2,4,5,6将被禁用。

几秒钟后,我想点击1号图片,然后它将变为事件状态,2、3、4、5、6将被禁用。

我该怎么做?

最佳答案

您可以使用 jQuery Siblings 来执行此操作

这里是一个例子:

$(function(){
  $("img").click(function(){
    $(this).addClass("on").siblings("img").removeClass("on");
  });
});

编辑,工作示例:

$(function(){
  var replaceImg = function($img){ 
    var src0= $img.attr("src");
    var src1= $img.data("on-src");
    $img.attr("src",src1).data("on-src",src0);    
  };
  $("img").click(function(){   
    $(this).addClass("on");
    replaceImg($(this));
    
     $(this).siblings("img").each(
      
     function(){
       var $this = $(this);
        if($this.hasClass("on")){
          $(this).removeClass("on");
          replaceImg($(this));
          }
     }
     );
  });
});
img{border:solid 3px black;}
img.on{border:solid 3px red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>



<div>
 <img src="https://67.media.tumblr.com/avatar_0c16e55c511b_128.png" data-on-src="http://icons.iconarchive.com/icons/jonathan-rey/simpsons/128/Homer-Simpson-04-Happy-icon.png">
 <img src="https://67.media.tumblr.com/avatar_0c16e55c511b_128.png" data-on-src="http://icons.iconarchive.com/icons/jonathan-rey/simpsons/128/Homer-Simpson-04-Happy-icon.png">
   <img src="https://67.media.tumblr.com/avatar_0c16e55c511b_128.png" data-on-src="http://icons.iconarchive.com/icons/jonathan-rey/simpsons/128/Homer-Simpson-04-Happy-icon.png">
   <img src="https://67.media.tumblr.com/avatar_0c16e55c511b_128.png" data-on-src="http://icons.iconarchive.com/icons/jonathan-rey/simpsons/128/Homer-Simpson-04-Happy-icon.png">
   <img src="https://67.media.tumblr.com/avatar_0c16e55c511b_128.png" data-on-src="http://icons.iconarchive.com/icons/jonathan-rey/simpsons/128/Homer-Simpson-04-Happy-icon.png">
</div>

编辑 2 - 更改图像

关于javascript - Onclick 启用单击的图像并禁用其他图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38648180/

相关文章:

html - 正确对齐一行上的 li 元素

HTML/CSS : How to fix a header in the center

javascript - 第一次单击时不会开始滚动列表元素

javascript - 如何从 highchart.js 中的饼图中删除空格?

javascript - 更改数组javascript中 'key'的字符串

javascript - 多次更改iframe源

javascript - 在 webapp 下线时处理销售交易

javascript - 将 promise 转换为等待/异步

css - 动态居中一个或两个 DIV

javascript - 按顺序将段落附加到图像属性? (第 1 到第 1,第 2 到第 2 ...第 n 到第 n 个)JQUERY