Bonjour tout le monde,
J'essaye d'impl�menter dans mon application web un accord�ons avec les langages HTML, CSS et JS.
Je suis d�butant en JS donc c'est pas �vident pour moi de faire marcher cet �l�ment.
Voici mon code HTML :
Code html : S�lectionner tout - Visualiser dans une fen�tre � part
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 <div class="col-md-12"> <h3> {% trans "Available publications" %} </h3> <hr> {% for category in category_list %} <div class="panel-group accordion" id="accordion_{{ category }}" role="tablist" aria-multiselectable="true"> <div class="panel panel-default"> <div class="panel-heading" role="tab"> <h4 class="panel-title"> <a data-toggle="collapse" data-parent="#accordion_{{ category }}" href="#collapseOne_{{ category }}" aria-expanded="true" aria-controls="collapseOne"> <i class="more-less glyphicon glyphicon-plus"></i> {{ category }} </a> </h4> </div> {% for publication in category.publication.all %} <div id="collapseOne_{{ category }}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="#accordion_{{ category }}"> <div class="panel-body"> {{ publication }} {% for document in publication.documents.all %} <table class="table table-condensed"> <tbody> <tr> <td class="col-md-1"> <input type="checkbox" class="fakeRadio" name="DocumentChoice" value="{{ document.id }}"></td> <td class="col-md-1"> {% if document.format == 'pdf' %} <span class="badge alert-danger">{{ document.format }}</span> {% endif %} {% if document.format == 'epub' %} <span class="badge alert-info">{{ document.format }}</span> {% endif %} </td> <td class="col-md-1"> {{ document.language }}</td> <td class="col-md-1"> {{ document.title }}</td> <td class="col-md-1"> {% if document.publication.new_publication == True %} <span class="glyphicon glyphicon-flag"></span> {% else %} <span></span> {% endif %} </td> </tr> </tbody> </table> {% endfor %} </div> </div> {% endfor %} </div> </div> {% endfor %} </div>
Et voici mon code JS :
Le but �tant de pouvoir ouvrir plusieurs onglets dans l'accord�on en m�me temps.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <script> var acc = document.getElementById("accordion_{{ category }}"); var panel = document.getElementById('panel'); for (var i = 0; i < acc.length; i++) { acc[i].onclick = function() { var setClasses = !this.classList.contains('active'); setClass(acc, 'active', 'remove'); setClass(panel, 'show', 'remove'); if (setClasses) { this.classList.toggle("active"); this.nextElementSibling.classList.toggle("show"); } } } function setClass(els, className, fnName) { for (var i = 0; i < els.length; i++) { els[i].classList[fnName](className); } } </script>
Pour l'instant je n'arrive pas � ouvrir ne serait-ce qu'un onglet.
Merci de votre aide![]()
Partager