Не работает событие onclick

92
20 сентября 2021, 04:20

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

HTML:

 <img  src="img/himiya/galery/g_him_1.jpg"  class="g_image"  id='img_1_1' onclick="shows('block')">

CSS:

#filter{
background-color: rgba(0, 0, 0, 0.6);
position: fixed;
top: 0;
left: 0;
z-index: 30;
bottom: 0;
width: 100%;
height: 100%;
display: none;
}
.g_image{
width: 24%;
margin-bottom: 10px;
}

JS:

$(document).ready(function () {
  function shows(state) {
      $('#filter').css({'display':state});
  }
});
Answer 1

Функции show нет в глобальной области видимости, она - локальная внутри обработчика ready.

<img  src="img/himiya/galery/g_him_1.jpg"  class="g_image"  id='img_1_1'>

JS:

$(document).ready(function() {
  function shows(state) {
    $('#filter').css({'display':state});
  }
  $("#img_1_1").click(function() { shows('block'); });
});
Answer 2

А если так:

const img = document.getElementById('img_1_1');
img.addEventListener('click', () => {
    $('#filter').css({'display':state});
});
READ ALSO
ошибка синтаксиса Jquery

ошибка синтаксиса Jquery

разворачиваю проект на VDS сервереОтладчик выдал ошибку скрипте jquery: SyntaxError: ',:x' is not a valid selector*

108
Redux form и проблемный инпут

Redux form и проблемный инпут

Есть две формы,регисnрация и авторизацияС регистрацией все норм

143
Конкатенация строк на С++

Конкатенация строк на С++

Помогите с таким заданием: мы получаем две строки(символьных массива), и передаём их в функцию для конкатенации(это я сделал только как-то...

123