У меня есть шесть изображений в виде точек, к которым я применил анимацию при нажатии. у всех шести изображений есть соответствующий текст, который светится / окрашивается: белый при нажатии на соответствующую точку / изображение, теперь проблема в том, что у меня есть изображение / значок на изображении / точке, которое не скрывается, когда я нажимаю на другое изображение / точку

Две проблемы - 1. значок не скрывается 2. точка / изображение снова не активируется при нажатии на другое изображение / точку

Предоставление видео для лучшего понимания (https://streamable.com/ab999)

В этом видео вы увидите, что у меня есть точка / изображение с соответствующим текстом (сборка). Я закодировал его, как при загрузке страницы, когда на него автоматически нажимают и происходит анимация (что происходит так, как это должно происходить).

Вы увидите, когда я щелкну любое другое изображение / точку (черный значок на тексте изображения / точка не скрывается), и текстовое изображение / значок сборки больше не будет активным, потому что черный значок находится там, что делает его неактивным

JQuery, я пытаюсь это

$(function() {
  if($("#img1").click()){
    $(".icon").css("display","block");
    console.log("if");
  }
  else{
    $(".icon").css("display","none");
    console.log("else");
  }
});

Я поставил console.log только для проверки, но моя консоль только показывает («если»), никогда не переходит к («еще»)

Img1 - это идентификатор точки / изображения

.icon - это класс чёрного значка, который находится над образом сборки и имеет положение свойства css: относительный

<li class="paralx-dots"><span class="icon-text" id="1">Build</span><img src="images/Circle 1- Blue .svg" class="paralx-dot-1" class="Active" data-box="div1"  id="img1"  tabindex="0"><span class="icon-position"><img src="images/logos/noun_build_1909132.svg" class="icon"></img></span></img></li>

Я хочу, чтобы при нажатии на любое другое изображение / точку черный значок скрывался (не отображался), а когда я снова нажимал на точку / изображение (сборка), он появлялся снова

0
Inderjeet Vyas 2 Май 2019 в 10:16

3 ответа

Лучший ответ

Вы должны добавить действие click к изображениям, как это.

$('img').click(function () { 
  if (this.id === 'img1') { 
    $(".icon").css("display","block"); 
  } else { 
    $(".icon").css("display","none"); 
  } 
})

Обратите внимание, что $("#img1").click() вызовет щелчок.

0
Radonirina Maminiaina 2 Май 2019 в 08:24

Попробуй это

$(function() {

  $(".icon").css("display","none");
  
  $("#img1").on("click", function() {
  
    $(".icon").css("display","block");
    console.log("click");
  
  }))
});
0
Berka Ayowa 2 Май 2019 в 08:24

Причина, по которой он всегда печатает «if», заключается в том, что $ .click () на самом деле является ярлыком .trigger («click»), который всегда будет возвращать объект jQuery.

JQuery нажмите ссылку

Мне кажется, что вы действительно хотите использовать обработчик событий. Попробуйте что-то вроде $(".icon").on('click', yourFunction)

0
francox9 2 Май 2019 в 07:29