11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour, j'ai récemment fait une mise à jour de mon site internet et une petite fonction toute bête ne fonctionne plus suite au changement de version de jquery.

Sauriez vous m'aider à identifier mon erreur ? merci d'avance.
Voici le code:
//-----------------------XX-- + & - BOX--XX---------------
	$('.texte , #devis_hide').css( 'display','none');
	$('.plus , #plus_bis').css('cursor','pointer').toggle(
		function() {$(this).next().slideToggle(400); this.src = this.src.replace("plus","moins");},
		function() {$(this).next().slideToggle(400);this.src = this.src.replace("moins","plus"); }
	);


Le principe étant très simple un petit bouton plus ou moins en <img> qui déplie ou replie une boite <div> situé juste après lui dans le code html.
Cela marchait parfaitement avant, mais apparement ma syntaxe n'est pas bonne avec la dernière version de jquery.

Cordialement.
Dans la console j'ai 2 erreur CSS:
"downloadable font: rejected by sanitizer ... "
mais je ne pense pas que cela ai un rapport ?

Sinon je ne vois pas d'autres erreur. Quelqu’un sur IRC m'a rapporté avoir vu une erreur sur ga.js mais je ne la vois pas personnellement.

Si besoin le site:
www.cas-p.net
Quelle partie du site est concernée ?
C'est un petit script. On peut le réécrire.
Qu'est-ce qui est censé se passer?
Modifié par allan00958 (19 Jul 2017 - 22:23)
Bonjour,

La méthode .toggle() comme tu l'utilises (mouse event), n'existe plus (supprimée dans la version 1.9), tu dois donc te la faire à la mano :
$('.texte , #devis_hide').css( 'display','none')

$('.plus, #plus_bis').click(function(){
  if ( $(this).next().is(':visible') ) {
    $(this).attr('src', $(this).attr('src').replace("moins","plus"))
  } else {
    $(this).attr('src', $(this).attr('src').replace("plus","moins"))
  }
  $(this).next().slideToggle(400);
})

exemple : https://codepen.io/anon/pen/MoNYGK

NB : une "nouvelle" (autre) fonction toggle existe, mais elle fait maintenant disparaître/réapparaître l'élément (décision étrange de changer à tel point cette fonction - EDIT : elle existe depuis la version 1.0 comme la version "mouse event")
Modifié par SolidSnake (20 Jul 2017 - 11:17)
Meilleure solution