Bonjour à tous j'ai créer un accordéon en CSS3 html5 + JS il fonctionne très bien sur tout les navigateurs ^_^'
j'ai juste un petit souci qui me chagrine, dans la console sur chrome j'ai cette erreur :
mon code JS est le suivantevent.returnValue is deprecated. Please use the standard event.preventDefault() instead.
Code JS : 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
57
58 var accordion_head = $('#accordeon article a.titre'); var accordion_body = $('#accordeon article.contenuTitre'); var accordion_i = $('#accordeon article a.titre i'); //On attribut la classe "active" au premier .titre de la liste et on ouvre par effet de slide .contenuTitre qui suit .active : //accordion_head.first().addClass('active').parent().next().slideDown('normal'); // Lorsqu'on clique sur .titre accordion_head.on('click', function(event) { // On annule l'effet naturel du lien event.preventDefault(); var accordeondisplay = $(this).parent().next().css('display'); // On vérifie la présence de la classe "active" if ($(this).attr('class') != 'titre active'){ // On ferme par effet de slide tous les li qui contiennent la classe .contenuTitre accordion_body.slideUp('normal'); // On ouvre celui qui suit directement le lien (.titre) sur lequel on a cliqué if (accordeondisplay =='none' ){ $(this).parent().next().stop(true,true).slideToggle('normal', function(){ // Scroll top afin damener en top l'accordeon selectionné $('html, body').animate({scrollTop:$(this).offset().top-50}, 'slow'); }); // découpe une chaide de carractaire pour la mettre dans un tableau array var plusoumoins = $(this).find('i').attr('class'); var active = $(this).attr('class').split(" "); accordion_head.removeClass('active-bleu'); accordion_head.removeClass('active-rouge'); accordion_i.removeClass('fa-minus'); accordion_i.addClass('fa-plus'); if (active[2] == 'accordeon-header-background-rouge'){ $(this).addClass('active-rouge'); $(this).find('i').removeClass('fa-plus'); $(this).find('i').addClass('fa-minus'); } else{ $(this).addClass('active-bleu'); $(this).find('i').removeClass('fa-plus'); $(this).find('i').addClass('fa-minus'); } } else{ // On enlève la classe .active de tous les liens accordion_head.removeClass('active-bleu'); accordion_head.removeClass('active-rouge'); $(this).find('i').removeClass('fa-minus'); $(this).find('i').addClass('fa-plus'); } // On rajoute la classe .active au lien sur lequel on a cliqué } });
j'aurais tendance à dire que c'est une erreur dans la version de JS utilisé..
Partager