Переключить div на основе идентификатора

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

function langToggle(id) {
   var english = document.getElementById("english"); 
   var frech = document.getElementById("french");

   english.style.display = (
       english.style.display == "none" ? "block" : "none"); 
   french.style.display = (
       french.style.display == "none" ? "block" : "none"); 
}
a {
  background-color: #333;
  color: #fff;
  padding: 5px;
  cursor: pointer;
}
<a onclick = "langToggle(english)">English</a>
<a onclick = "langToggle(french)">French</a>
<div id = "english">
    <p>English</p>
</div>
<div id = "french" style = "display:none;">
    <p>French</p>
</div>

Вы не используете параметр, переданный в вашу функцию langToggle(), и вы также не делаете видимые элементы div нигде в функции.

Katamari 02.04.2018 21:07

Опечатка и здесь: frech

jmargolisvt 02.04.2018 21:10
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
110
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

То, что вы сделали, было функцией переключения. Но вам нужно просто очистить все элементы и установить только тот, который вам нужен.

См. Измененный Javascript.

function langToggle(id) {
   english.style.display = "none";
   french.style.display = "none";
   id.style.display = "block";
}
a {
  background-color: #333;
  color: #fff;
  padding: 5px;
  cursor: pointer;
}
<a onclick = "langToggle(english)">English</a>
<a onclick = "langToggle(french)">French</a>
<div id = "english">
    <p>English</p>
</div>
<div id = "french" style = "display:none;">
    <p>French</p>
</div>

Другие вопросы по теме