@Dillett
Начинающий web разработчик

Как передать значение data в dom элементы?

Прошу помощи в написании небольшого скрипта.
Смысл такой что есть 2 ссылки, служащие переключателями:
<div class="switch-address">
    <a data-key="1" class="adress-link-contacts adress-link-active" href="#">Адрес-1</a>
    <a data-key="2" class="adress-link-contacts " href="#">Адрес-2</a>
</div>


И контент, который они переключают:
<div id="address-1" class="adress-block">Адрес 1-го блока</div>
    <div id="address-2" class="adress-block">Адрес 2-го блока</div>
    
    <div id="contact-img-1" class="ct-block-right">Картинка 1-го блока</div>
    <div id="contact-img-2" class="ct-block-right">Картинка 2-го блока</div>

    <div id="contact-block-1" class="adress-block-contact">Контент 1-го блока</div>
     <div id="contact-block-2" class="adress-block-contact">Контент 2-го блока</div>


Надо что бы при нажатии на переключатель (ссылку), скрылся один контент и появился другой, ну и соответственно наоборот. Подсказали что правильно сделать через атрибут data-*. Работать как я понял должно так:
При нажатии на переключатель(ссылку), data-key подставляется в три блока и появляется контент с нужными id - шниками, а с другими скрывается.
Не особо силен в jquery поэтому прошу помощи у вас.
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Подсказали что правильно сделать через атрибут data-*

Ну да. Добавляете блокам такие же data-key, как у тех элементов, по клику на которые блоки надо показывать. По клику хватаете все блоки и показываете те, у которых data-key совпал с кликнутым, остальные скрываете:

$(document).on('click', 'a[data-key]', function() {
  $('div[data-key]')
    .hide()
    .filter((i, n) => n.dataset.key === this.dataset.key)
    .show();
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
alex-1917
@alex-1917
Если ответ помог, отметь решением
А это точно вопрос, а не задание?
Пиши , что не получилось в написании скрипта. А приведенный кусок кода - это голое задание...
В бутстрапе эта шняга есть готовая, в любой непонятной ситуации юзай бутстрап!
Скрипта-то там две строчки, тут посмотри - www.jooom.ru/toster/toster_6.html
$(document).ready ( function(){
	$('.faces_choice_area').find('span').live('click',function(){
		$(this).addClass('ch').siblings().removeClass('ch').parents('div.faces').find('span.faces_choice').eq($(this).index()).addClass('ch').siblings('span.faces_choice').removeClass('ch');
	});
	});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект