Переполнение: прокрутка в div, содержащем динамический ul

Я разрабатываю API с использованием angular4, ccs3 и jquery 3.3.1. Я хочу, чтобы мой код загружал файл json, который содержит информацию о некоторых проектах, и я хочу, чтобы мои сценарии загружали в файл HTML информацию о рисках и предупреждения о каждом проекте в детали моего компонента приложения и именно в моем div с class = "scroll" . этот div содержит ul.

Что я пробовал до сих пор:

Я поместил свое свойство overflow: auto в свой .scroll с высотой 35% от моего размера тела. Положи это не сработает. Я также использую overflow-y auto и overflow-y: scroll, чтобы сделать тест. Но мой свиток работает некорректно. Он показывает себя, но скрывает результат содержимого моего скрипта (после строки 36). Я тоже использую scrollTop, но не работаю. Я также пытаюсь использовать абсолютную позицию и уменьшать поля и отступы, но ни один из них не работает.

Я использую Chrome для разработки.

var sujetCourant;
var url = "../assets/data/data.json";
var idEltCourant= 0;
var risques2= " Le(s) Risque(s) sur ce(s) projet(s)";
var attentes2 = "Le(s) Attente(s) sur ce(s) projets(s)";
var scroll= $('div.scroll'),
$scrollTo =$('div.scroll');

$(document.getElementsByClassName('.scroll')).ready(function(){
    //on charge le fichier json
     $.getJSON(url, function (data){
      var nbRisqueSujetCourant = 0;
      var nbAttenteSujetCourant = 0;
      //je recupère la position de ma element section  
       
     //on parcours le fichier tant que la fin n'est pas atteinte
       while( idEltCourant < data.projets.length){ 
         //recuperation du nom du sujet courant
         sujetCourant = data.projets[idEltCourant].titre;
        //recuperation  du nombre d'attentes ou alertes du sujet courant
        nbAttenteSujetCourant = data.projets[idEltCourant].attentes[0].nbattente;
         //recuperation du nombres de risques du sujet courant;
         nbRisqueSujetCourant = data.projets[idEltCourant].risques[0].nbrisques;
        
         // affichage suivant le nombre de risques ou d'alertes par SUJETS.
         // si le sujet courant n'a ni d'alertes ni de risques on passe au sujets suivant sans traitements
          if (nbAttenteSujetCourant == 0 && nbRisqueSujetCourant  == 0 ) {
       
              
            idEltCourant =idEltCourant +1;
           } 
        // cas ou le sujet n'a pas de risques on affiche seulement les attentes
         // Affichage en couleur Rouge les attentes
        else if (nbAttenteSujetCourant != 0 && nbRisqueSujetCourant  == 0) {          
           //Afichage du nom du projet
           $('ul.resultatdetails').css('color','#00008B').css('padding-left','10%').css('padding-bottom','3%').text( sujetCourant).css('padding-top', '0%');
          
          //affichage du titre Attente(s)
          $('ul.contenuattentes').css('padding-left','10%').text(attentes2).css('padding-top', '3%').css('color', '#000000');
         // on fera une boucle qui affichera par ligne une liste d'attentes
  //       //  for( var attentecourant= 0; attentecourant<nbAttenteSujetCourant; attentecourant++){
       
  //       //  }
  //        console.info(sujetCourant);
  //       // console.info('------------------------------');
  //       // console.info(nbAttenteSujetCourant);
          
        idEltCourant =idEltCourant +1;
  //       }
  
  //       // affichage en jaune
  //       else if (nbAttenteSujetCourant == 0 && nbRisqueSujetCourant  != 0){
  //         $('ul.resultatdetails').css('color','#00008B').css('padding-left','7%').css('padding-bottom', '3%').text( sujetCourant).css('padding-top', '3%');
  //       /*   console.info(sujetCourant);
  //         console.info('------------------------------');
  //         console.info(nbAttenteSujetCourant);
  
  //         console.info('------------------------------');
  //         console.info(nbRisqueSujetCourant);
  //         console.info('------------------------------'); */
  //         idEltCourant =idEltCourant +1;
  //       }
  //       else{
  //         $('ul.resultatdetails').css('color','#00008B').css('padding-left','7%').css('padding-bottom', '3%').text( sujetCourant).css('padding-top', '3%');
  //         // console.info(sujetCourant);
  //         // console.info('------------------------------');
  //         // console.info(nbAttenteSujetCourant);
  
  //         // console.info('------------------------------');
  //         // console.info(nbRisqueSujetCourant);
  //         // console.info('------------------------------');
         // idEltCourant =idEltCourant +1;
        }
    idEltCourant =idEltCourant +1;
       
      }
    console.info(data.projets.length);
  });
  
});
  
#details {
    margin-top: -5%;
    background-color: floralwhite;    
    padding-left: 3%;
    color: black;  
    height: 15%; 
    font-size: 180%;    
}
#p {
    padding-top: 2%;
    height: 100%;
    }
.resultatdetails{
    background-color: floralwhite;
    margin-top: -1%;
    margin-bottom: -1.7%;
    font-size: 120%;
    font-style:  italic;
    height: 70%;
    width: 90%;  
    padding-left: 2%;
    padding-top: 0.2%;
    text-align: left;  
    list-style:none;


}

.scroll{
    font-family: Arial, Helvetica, sans-serif;
    text-align: left;
    margin-left: 4.5%;
    margin-right: 3.5%;
    margin-top: 5%;
    font-family: Verdana, Fantasy, Trebuchet MS, normal, sans-serif;
    font-weight: normal;
    width:  53.5%;
    height: 98% relative;
    border-style:groove;
    border-color: black;
    border-style:10% groove;
    overflow-y: scroll;

    position: absolute;
   
}

.detailsrouge{
    color: red;
    min-height: 40%;
}

.detailsjaune{
    color: gold;
   min-height: 40%;
}
.contenurisques, .contenuattentes{
    list-style:none;
    padding-bottom: 2%;
    padding-top: 1.5%;  
    font-size: 100%; 
    overflow-y: inherit;
    overflow-y: scroll;
    overflow-x: hidden;
    position: absolute;

}
  <div class = "scroll"> 
  <article id = "details">
    <p id = "p">Détail des risques et attentes d'arbitrage.</p>
  </article>
  <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
  </script>

  <ul class = "resultatdetails">
    <ul class = "contenuattentes" >
      <ul class = "detailsrouge">
        
        
      </ul>
    </ul>
    <ul class = "contenurisques">
      <ul class = "detailsjaune">
              
      </ul>
    </ul>
  </ul>    

</div>

Мой результат здесь:

Почему у вас вложенные ul?

rileyjsumner 07.08.2018 16:58

вы должны структурировать его больше в сторону: <ul><li><ul></ul></li></ul>

rileyjsumner 07.08.2018 17:00

только li может быть потомком ul

zgood 07.08.2018 17:01

Я хочу, чтобы мой результат был похож на этот Проект 1: риск: риск 1 для риска n. предупреждение: предупреждение 1 для предупреждения n; Такая же презентация для всего моего проекта

hanyatou 07.08.2018 17:02

hanyatou, чтобы получить это, вам нужно вложить свой суб uls в в li (согласно комментарию @rileyjsumner)

freedomn-m 07.08.2018 17:07

хорошо спасибо. сделано. Теперь у меня есть этот <ul class = "resultatdetails"> <li class = "contenuattentes"> <ul class = "detailsrouge"> </ul> </li> <li class = "contenurisques"> <ul class = " detailsjaune "> </ul> </li> </ul>

hanyatou 07.08.2018 17:09

это изменение не меняет мою проблему, результат тот же

hanyatou 07.08.2018 17:16

Я наконец решил свою проблему. Благодарность

hanyatou 27.08.2018 09:59
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
8
59
0

Другие вопросы по теме