Показать сообщение отдельно
  #2 (permalink)  
Старый 18.10.2017, 00:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

меню из json
omegarekrut,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  #test a + ul {
     display: none;
  }
  #test a.open + ul {
     display:  block;
  }
  #test a{
    cursor: pointer;
    display: inline-block;
  }
  #test a.dd:after{
     content: "+";
     margin-left: 4px;
  }
  #test a.dd.open:after{
     content: "-";
  }
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
$.getJSON('https://api.myjson.com/bins/zlxnt', function(data) {
data.forEach(function(el, i) {
   var parentId = el.PARENT;
   var parent = document.querySelector("#_"+parentId);
   if(!parent) {
     parent = document.querySelector("#test");
      }
    else $(parent).prev().addClass("dd");
    var li = $("<li>").appendTo(parent);
    $("<a>", {text : el.NAME}).appendTo(li);
    $("<ul>", {id : "_"+parentId}).appendTo(li);
})
})
$("#test").on("click", "a", function(event) {
  event.preventDefault();
  this.classList.toggle("open")
})

});
  </script>
</head>

<body>
<ul id="test"></ul>

</body>
</html>

Последний раз редактировалось рони, 18.10.2017 в 14:57.
Ответить с цитированием