Javascript.RU

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

Как открыть несколько div-ов, закрывая старые?
Здравствуйте. Имеется код.
<script type="text/javascript">
var show;
function viewdiv(id){
param=document.getElementById(id);
if(param.style.display == "none") {
if(show) show.style.display = "none";
param.style.display = "block";
show = param;
}else param.style.display = "none"
}
</script>




<div>
<a href="javascript:void(0);" onclick="viewdiv('mydiv');"> блок 1</a>
<div>
<a href="javascript:void(0);" onclick="viewdiv('mydiv2');"> блок 2</a>
<div>
<a href="javascript:void(0);" onclick="viewdiv('mydiv3');"> блок</a>

<div>
<a href="javascript:void(0);" onclick="viewdiv('mydiv');viewdiv('mydiv2');"> VSE </a>


<div id="mydiv" style="display:none;"> text 1</div>
<div id="mydiv2" style="display:none;"> text 2</div>
<div id="mydiv3" style="display:none;"> tЕЕ</div>


Нужно. Что бы при нажатие на кнопку vse открывался первый и второй div. (на данный момент он открывает последний)
Самое главное что бы при этом сохранилось закрывание старых div-ов

https://jsfiddle.net/Vovan6996/p75L064r/19/
Ответить с цитированием
  #2 (permalink)  
Старый 20.12.2019, 18:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

открыть закрыть блоки по id открывашка зависимая
Vovan6996,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
var show;

function setStyle(ids, display) {
    ids.forEach(id => document.getElementById(id).style.display = display);
}

function viewdiv(...ids) {
    if (show) {
        if (show.toString() !== ids.toString()) {
            setStyle(show, "none");
            show = ids;
            setStyle(show, "block");
        } else {
            setStyle(show, "none")
            show = null
        }
    } else {
        show = ids;
        setStyle(show, "block");
    }

}
  </script>
</head>
<body>
<div>
<a href="javascript:void(0);" onclick="viewdiv('mydiv');"> блок 1</a></div>
<div>
<a href="javascript:void(0);" onclick="viewdiv('mydiv2');"> блок 2</a></div>
<div>
<a href="javascript:void(0);" onclick="viewdiv('mydiv3');"> блок 3</a></div>

<div>
<a href="javascript:void(0);" onclick="viewdiv('mydiv','mydiv2');"> VSE </a></div>


<div id="mydiv" style="display:none;"> text 1</div>
<div id="mydiv2" style="display:none;"> text 2</div>
<div id="mydiv3" style="display:none;"> text 3</div>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обернуть каждый тег в несколько DIV содержащих по 1 атрибуту от этих самых тегов? Zaxap Общие вопросы Javascript 10 08.11.2016 11:56
Как корректно обрезать html в contenteditable div ? asker Events/DOM/Window 0 28.04.2016 17:04
Как запретить прокрутку страницы при грозонтальной прокрутке внутреннего div? shurik_shink Events/DOM/Window 1 26.04.2016 15:50
как завернуть несколько функций в одну syegorius Общие вопросы Javascript 3 21.09.2012 01:25
При прокрутке страницы div залазит на футер. Как поправить? DonaldDrug jQuery 8 27.03.2012 02:15