Как снять активность с других элементов?

356
24 ноября 2016, 09:56
<img data-src="stol1_hover.png" class="img_table" src="stol1.png">
<img data-src="stol1_hover.png" class="img_table" src="stol1.png">
 $('img.img_table').click(function(){
      var $this = $(this);
      var newSource = $this.data('src');
      $this.data('src', $this.attr('src'));
      $this.attr('src', newSource);
  });

Допустим кликнули на первую картинку, она выделилась, как сделать чтобы при клике на вторую, у первой пропадала активность,а вторая была активная.
В примере две картинки но может быть больше

Answer 1

Без сохранения дополнительной инфомации о статусе элемента - никак. Пометим активный элемент классом "active". Поменяем картинки для всех активных элеменов кроме щелкнутого (и уберем с них класс "active") перед тем, как обрабатывать элемент, на который щелкнули.

 $('img.img_table').click(function(){
   var $this = $(this);
   $('img.img_table.active').not($this).each(function() {
     var newSource = $(this).data('src');
     $(this).data('src', $(this).attr('src'));
     $(this).attr('src', newSource);
     $(this).removeClass("active");
   });
   var newSource = $this.data('src');
   $this.data('src', $this.attr('src'));
   $this.attr('src', newSource);
   $this.toggleClass("active");
});
READ ALSO
Передача значения из одного div в другой

Передача значения из одного div в другой

Есть раскрывающийся список из div элементов. Надо при клике на определенный div передать его значение (изображение с текстом) в заголовок списка,...

353
Помогите переписать с jquery на чистый js

Помогите переписать с jquery на чистый js

Помогите переписать с jquery на чистый js. .

328
Отправка формы 2 раза Yii2

Отправка формы 2 раза Yii2

У меня есть форма. Для ее отправки я использую ajax.

717
Собрать данные с checkbox и select в массив

Собрать данные с checkbox и select в массив

Добрый день. Есть форма, вот ее основной блок, таких блоков несколько, различаются они только значением input с классом osnova (Программа 1, программа...

529