Три одинаковых кода на одной странице

  • Автор темы Lender1
  • Обновлено
  • 18, May 2024
  • #1
У меня есть 3 всплывающих окна на одной странице. Я нашел код JavaScript для закрытия div при нажатии за пределами div. Проблема в том, что когда я добавляю один, он работает, когда я добавляю 2 или 3, ничего не работает. Возможно ли разместить все 3 на одной странице?

 
function myFunction() {
var popup = document.getElementById("myPopup");
popup.classList.toggle("show");
}
// Prevents menu from closing when clicked inside
 document.getElementById("myPopup").addEventListener('click', function (event) {
 event.stopPropagation();
 });
// Closes the menu in the event of outside click
 window.onclick = function(event) {
 if (!event.target.matches('.amount')) {

 var dropdowns =
 document.getElementsByClassName("tooltiptext");

 var i;
 for (i = 0; i < dropdowns.length; i++) {
 var openmyPopup = dropdowns[i];
 if (openmyPopup.classList.contains('show')) {
 openmyPopup.classList.remove('show');
 }
 }
 }
 }

function myFunctions() {
var popup = document.getElementById("mypopup");
popup.classList.toggle("shows");
}
// Prevents menu from closing when clicked inside
 document.getElementById("mypopup").addEventListener('click', function (event) {
 event.stopPropagation();
 });
// Closes the menu in the event of outside click
 window.onclick = function(event) {
 if (!event.target.matches('.furbm')) {

 var dropdowns =
 document.getElementsByClassName("tooltipstext");

 var i;
 for (i = 0; i < dropdownss.length; i++) {
 var openmypopup = dropdowns[i];
 if (openmypopup.classList.contains('shows')) {
 openmypopup.classList.remove('shows');
 }
 }
 }
 }

function myFunctionss() {
var popup = document.getElementById("mYpopup");
popup.classList.toggle("showS");
}
// Prevents menu from closing when clicked inside
 document.getElementById("mYpopup").addEventListener('click', function (event) {
 event.stopPropagation();
 });

 // Closes the menu in the event of outside click
 window.onclick = function(event) {
 if (!event.target.matches('.furbc')) {

 var dropdowns =
 document.getElementsByClassName("toolstiptext");

 var i;
 for (i = 0; i < dropdowns.length; i++) {
 var openmYpopup = dropdowns[i];
 if (openmypopup.classList.contains('showS')) {
 openmypopup.classList.remove('showS');
 }
 }
 }
 } 
 }
Код (JavaScript):

Lender1


Рег
01 Jun, 2015

Тем
74

Постов
186

Баллов
596
  • 10, Jun 2024
  • #2
По большей части все это не похоже на то, чем занимался даже JavaScript за последнее десятилетие, но мне нужно было бы увидеть, как манипулируют разметкой, чтобы сказать наверняка.

Без HTML и CSS этот тип JS практически бессмысленен. Вы также можете попробовать дать им реальные осмысленные имена, а не варианты регистра.
 

Maslovyu


Рег
31 Mar, 2016

Тем
66

Постов
206

Баллов
566
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно