Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
469 / 334 / 144
Регистрация: 16.02.2018
Сообщений: 930

Не получается сделать такие переключатели

04.05.2018, 16:01. Показов 598. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток! Есть код, там две кнопки (табы) по умолчанию один таб имеет клас active, тем самым мы видим текст под кнопкой, как сделать такие переключатели на js? Буду благодарен за любой совет!
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <style>
    * {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
 
    body {
      font: 16px/24px Arial;
    }
 
    .box {
      padding: 10px;
      border: 1px solid #ccc;
      overflow: hidden;
      width: 480px;
      margin: 0 auto;
    }
    .item{
      float: left;
      width: 50%;
      text-align: center;
    }
    
    .item a{
      color: darkblue;
      font-weight: bold;
      text-decoration: none;
      padding: 4px 10px;
      border: 1px solid #ccc;
      display: inline-block;
      margin-bottom: 10px;
    }
    
    .item .text{
      display: none;
      font: 14px/18px Arial;
    }
    
    .item.active .text{
      display: block;
    }
    
    .js-link.active{
      color: red;
    }
  </style>
</head>
 
<body>
  <div class="box">
    <div class="item active">
      <a class="js-link active" href="#">Кнопка 1</a>
      <div class="text">Какой-то текст 1</div>
    </div>
    <div class="item">
      <a class="js-link" href="#">Кнопка 2</a>
      <div class="text">Какой-то текст 2</div>
    </div>
  </div>
  
  <script>
 
  
  </script>
</body>
 
</html>
И да, клик происходит по ссылке с класом js-link

Добавлено через 39 минут


Кажется что-то придумал!
Покритикуйте пожалуйста, Но критикуя предлагайте свои варианты)))
JavaScript
1
2
3
4
5
6
7
 $(document).ready(function(){
      $('.js-link').click(function(e) {
        $(".box").find(".active").removeClass("active");
        $(this).addClass("active");
        $(this).parent().addClass("active");
      });
    });
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2018, 16:01
Ответы с готовыми решениями:

Как сделать такие переключатели
в js/jquery увы не силен ( как можно сделать такие radio кнопки? нужна поддержка от ie7 пробовал так, но не получается...

Как сделать переключатели
Всем привет! Интересует вопрос: как я могу сделать переключатель. Переключатель не input, а сверху 2-3 вкладки, при нажимании которых без...

Как сделать, чтобы все переключатели на форме не были сразу включены?
Люди,помогите,плиз! У меня есть программа Тестер.На одной из форм есть 4 переключателя(option),и при запуске формы первый переключатель...

5
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
04.05.2018, 20:59
Цитата Сообщение от novichek_1905 Посмотреть сообщение
тем самым мы видим текст под кнопкой
что должно происходить-то по клику на Кнопка 1 и на Кнопка 2 --- просто должен меняться текст под кнопкой??

Добавлено через 6 минут
Или класс active должен переключаться на соответствующего родителя?
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
05.05.2018, 07:34
Цитата Сообщение от novichek_1905 Посмотреть сообщение
Но критикуя предлагайте свои варианты)))
HTML5
1
2
3
4
5
6
7
8
9
10
<div class="box">
  <div class="item active">
    <a class="js-link" href="#">Кнопка 1</a>
    <div class="text">Какой-то текст 1</div>
  </div>
  <div class="item">
    <a class="js-link" href="#">Кнопка 2</a>
    <div class="text">Какой-то текст 2</div>
  </div>
</div>
CSS
1
2
3
4
5
6
7
8
9
/* code omitted for clarity */
 
.item.active .text {
  display: block;
}
 
.item.active .js-link {
  color: red;
}
JavaScript
1
2
3
4
5
6
$('.js-link').click(function(e) {
  e.preventDefault();
 
  $('.box .active').removeClass('active');
  $(this).closest('.item').addClass('active');
})
https://jsfiddle.net/1uzyL7sg/
1
469 / 334 / 144
Регистрация: 16.02.2018
Сообщений: 930
07.05.2018, 10:55  [ТС]
j2FunOnly, благодарю, но не совсем то) Мне все же необходимо что бы class="active" присваивался/забирался у двух блоков js-link и item.

И у меня такой вопрос, e.preventDefault(); что значит эта строка и почему .closest() лучше использовать чем .parent()?
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
07.05.2018, 12:29
JavaScript
1
2
3
4
5
6
7
8
9
10
$('.js-link').click(function(e) {
  e.preventDefault();
 
  $('.box .active').removeClass('active');
  
  $(this)
    .addClass('active')
    .closest('.item')
    .addClass('active');
});
preventDefault() отменяет стандартное поведения браузера по событию. В данном случае не надо, чтобы браузер переходил по кликнутой ссылке.
Цитата Сообщение от novichek_1905 Посмотреть сообщение
почему .closest() лучше использовать чем .parent()?
Почему вы решили что лучше?
0
469 / 334 / 144
Регистрация: 16.02.2018
Сообщений: 930
07.05.2018, 13:36  [ТС]
Цитата Сообщение от j2FunOnly Посмотреть сообщение
Почему вы решили что лучше?
просто я использовал для поиска элемента .parent(); А у вас в примере .closest(); Подумал что вы специально использовали его вместо моего варианта, у меня опыта нет, пытаюсь для себя понять, как писать "легкий" код, так как разные методы могут делать одно и то же, но использовать разные алгоритмы, а они могут быть ресурсоемкими, из-за чего возможны лаги...

Цитата Сообщение от j2FunOnly Посмотреть сообщение
В данном случае не надо, чтобы браузер переходил по кликнутой ссылке.
Благодарю, отлично объяснили, я сначала погуглил, но не вкурил))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.05.2018, 13:36
Помогаю со студенческими работами здесь

Как сделать такие табы
Здравствуйте , подскажите как сделать такие табы (если это вообще они , я просто только недавно изучаю верстку так что сорри) если это...

Как сделать такие полоски?
Кажется я пишу в правильном разделе форума. Как создаться такие серые полоски с уникальными Id(или не Id) для кнопок? Это будет типа...

Как сделать такие картинки
вчера смотрел MS про перенос приложений на windows phone, и мне понравилось такая программа вот скрин Я и хотел что то такое...

Как сделать такие переходы
Добрый день, у &quot;Гугл&quot; новая страница авторизации, очень понравилось как сделано поле ввода (при нажатии плавное подчеркивается и надпись...

Можно ли сделать такие кнопки?
Нужна помощь возможно ли в делфи сделать такие кнопки круглые, и чтоб на OnClick она на секунду загоралась оранжевым(хотя не важно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru