Активный класс переключения карт jQuery

Сайт, над которым я сейчас работаю, находится здесь (раздел карты): http://vtx.canny-creative.com/

В настоящее время у меня две проблемы:

  1. «Активный» класс добавляется к карточке .location слева. Но мне также нужен соответствующий .dot справа, чтобы добавить к нему «active». Что я могу сделать. Тем не мение...

  2. Что я не могу сделать, так это получить «первые загруженные / видимые» DIV, «выбранную точку», чтобы применить «активный». Таким образом, активный элемент будет применяться только при нажатии, а не «при загрузке», а затем «при щелчке», когда я их просматриваю.

$('a.dot').on('click tap', function(e) {
  e.preventDefault();
  $('.card').css('z-index', '0');
  $('.card.active').css('z-index', '2');
  $('.card').removeClass('active');
  $($(this).attr('href')).addClass('active');
});
.where-we-operate .card-container {
  position: relative;
  .card {
    position: absolute;
    top: 0px;
  }
  .active {
    z-index: 4 !important;
    animation: foo 0.5s ease 1;
  }
}

.where-we-operate .map-container {
  position: relative;
}
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section class = "where-we-operate">
  <div class = "grid-container">
    <div class = "grid-x grid-padding-x grid-margin-x">
      <div class = "large-6 cell card-container">
        <div id = "card1" class = "location-tile card">
          Card Info Here
        </div>
        <div id = "card2" class = "location-tile card">
          Card Info Here
        </div>
        <div id = "card3" class = "location-tile card">
          Card Info Here
        </div>
      </div>
      <div class = "large-6 cell map-container">
        <a href = "#card1" class = "dot london"></a>
        <a href = "#card2" class = "dot coventry"></a>
        <a href = "#card3" class = "dot south-shields"></a>
        <img src = "http://localhost:8888/vortex/wp-content/uploads/2018/03/uk-map.jpg" />
      </div>
    </div>
  </div>
</section>

Я создал что-то, используя скрипку jQuery здесь: https://jsfiddle.net/harishkommuri/xc8ebuf4/

Привет, вопросы, требующие помощи по отладке (или «почему мой код не выполняет X?»), Должны включать минимальный воспроизводимый пример в сам вопрос; ссылки на изолированную программную среду кода, такую ​​как JSFiddle, недостаточно.

TylerH 30.03.2018 21:35

К сожалению, я добавил код, над которым работаю, в свой пост. Этого достаточно?

Tony Hardy 30.03.2018 21:41

Это похоже на довольно исчерпывающую разметку, но я заметил, что ваш JSFiddle также имеет CSS, а HTML более минимален, чем то, что вы только что добавили в свой вопрос. Является ли разметка, которую вы только что добавили, все необходимое, или только разметка из скрипта? Точно так же, если CSS в скрипте требуется для воспроизведения проблемы, его также следует добавить к вопросу.

TylerH 30.03.2018 21:43

Еще раз извините. Я отфильтровал HTML до самого необходимого и добавил, как мне кажется, единственный необходимый CSS. Однако я действительно сомневаюсь, что это имеет значение для проблемы.

Tony Hardy 30.03.2018 21:49

Разве вы не можете просто добавить класс active в свой HTML к элементам, которые должны иметь этот класс при загрузке страницы?

myfunkyside 31.03.2018 05:22
лицо ладонь - да, да мог. Должно быть, был долгий день! Спасибо.
Tony Hardy 31.03.2018 12:01
Поведение ключевого слова "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) для оценки ваших знаний,...
2
6
217
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

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

Вы можете просто добавить класс active в свой HTML-код к элементам, которые должны иметь этот класс при загрузке страницы:

<div id = "card1" class = "location-tile card active">

Другой вариант - добавить класс active с jQuery до или после вашего обработчика событий:

$('#card1').addClass('active');

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