Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.06.2018, 08:53
Новичок на форуме
Отправить личное сообщение для region58 Посмотреть профиль Найти все сообщения от region58
 
Регистрация: 05.06.2018
Сообщений: 2

функция показать/скрыть
Уважаемые программисты! я работаю в колл центре, и возникает необходимость структурировать часто задаваемые вопросы.
в левой части страницы будут находиться темы вопросов(ссылки), а в правой развернутый ответ. дело в том что при нажатии на тему необходимо показать 1 ответ, а остальные спрятать.
как показать/скрыть 1 элемент я знаю, а как показать скрыть div с разными id с помощью одной функции не понимаю
помогите написать функцию, которая при нажатии на тему покажет ответ в правой части страницы
Ответить с цитированием
  #2 (permalink)  
Старый 05.06.2018, 09:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

region58,
поиск по форуму: открывашка
Ответить с цитированием
  #3 (permalink)  
Старый 05.06.2018, 09:10
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
	.block{
		width: 100%;
	}
	.block>div{
		position: relative;
		float: left;
		width: 50%
	}
	.otv>div{
		display: none;
	}
	.act{
		color: red;
	}
</style>
</head>
<body>
	<div class="block">
		<div class="vopr">
			<div>Вопрос 1</div>
			<div>Вопрос 2</div>
			<div>Вопрос 3</div>
			<div>Вопрос 4</div>		
		</div>
		<div class="otv">
			<div>Ответ 1</div>
			<div>Ответ 2</div>
			<div>Ответ 3</div>
			<div>Ответ 4</div>		
		</div>
	</div>
	<script>

		var elt = document.querySelectorAll(".vopr > div");
		[].forEach.call(elt, function(el, i){
			el.onclick = function(e){
				[].forEach.call(elt, function(el, n){
					el.className = n==i?'act':'';
				});
				[].forEach.call(document.querySelectorAll(".otv > div"), function(el, n){
					el.style.display = n==i?'block':'none';
				});
			};
		});
	</script>
	
</body>
</html>

Последний раз редактировалось j0hnik, 05.06.2018 в 09:13.
Ответить с цитированием
  #4 (permalink)  
Старый 05.06.2018, 09:16
Новичок на форуме
Отправить личное сообщение для region58 Посмотреть профиль Найти все сообщения от region58
 
Регистрация: 05.06.2018
Сообщений: 2

j0hnik, +100500 к карме, как раз то что нужно!
Ответить с цитированием
  #5 (permalink)  
Старый 05.06.2018, 09:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    .block{
        width: 100%;
    }
    .block>div{
        position: relative;
        float: left;
        width: 50%;

    }
    .vopr > div.act{
        color: red;
    }
    .vopr > div{
       cursor:  pointer;
    }

    .otv > div{
         display: none;
    }
   .otv > div.act{
       display: block;
   }

</style>
</head>
<body>
    <div class="block">
        <div class="vopr">
            <div class="act">Вопрос 1</div>
            <div>Вопрос 2</div>
            <div>Вопрос 3</div>
            <div>Вопрос 4</div>
        </div>
        <div class="otv">
            <div class="act">Ответ 1</div>
            <div>Ответ 2</div>
            <div>Ответ 3</div>
            <div>Ответ 4</div>
        </div>
    </div>
    <script>
document.addEventListener("DOMContentLoaded", function() {
    var a = 0,
        b = document.querySelectorAll(".vopr > div"),
        c = document.querySelectorAll(".otv > div");
    [].forEach.call(b, function(d, e) {
        d.addEventListener("click", function(f) {
            b[a].classList.remove("act");
            c[a].classList.remove("act");
            d.classList.add("act");
            a = e;
            c[a].classList.add("act")
        })
    })
});
    </script>

</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 05.06.2018, 09:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от region58
как раз то что нужно!
форум забит четырмя сотнями примеров на эту тему, j0hnik, хочет довести это количество до 500, возможно тогда их начнут замечать.
Ответить с цитированием
  #7 (permalink)  
Старый 05.06.2018, 10:27
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

рони,
сколько из них ваши? наверняка не меньше сотни
Ответить с цитированием
  #8 (permalink)  
Старый 05.06.2018, 11:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

j0hnik,
чуть больше 300
Ответить с цитированием
  #9 (permalink)  
Старый 05.06.2018, 11:08
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

рони,
и это еще не предел, друг мой )
Ответить с цитированием
  #10 (permalink)  
Старый 05.06.2018, 12:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от j0hnik
и это еще не предел, друг мой )
дерзай, у тебя всё впереди!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция вызывается несколько раз KiberQ Общие вопросы Javascript 11 01.03.2017 15:45
Функция запускается кнопкой, но не запускается другой функцией или событием IndiraVarma Общие вопросы Javascript 6 30.09.2016 14:58
не вызывается функция при изменении option soft4you Общие вопросы Javascript 1 23.07.2014 17:41
AJAX функция для новых html-элементов broadcast77 AJAX и COMET 25 03.03.2014 14:01
функция и несуществующий id Ankh Элементы интерфейса 4 10.02.2012 23:49