Bonjour.
Voici une fonction qui a pour but de remplacer une chaine de caractères par une autre dans un DIV contenteditable.
La chaine à remplacer ressemble à ceci :
J'ai une fonction déclenchée par "onClick" sur plusieurs boutons qui permettent de transformer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <div id="12345"> <div id="ad12345" style="width: 50%; float: left;">ICI, DU TEXTE</div> </div>en
Code : Sélectionner tout - Visualiser dans une fenêtre à part float: left;
et ça fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part float: right;
Cette même fonction est sensée transformeren
Code : Sélectionner tout - Visualiser dans une fenêtre à part width: 50%;mais là, ça ne fonctionne pas du tout et probablement à cause du signe "%".
Code : Sélectionner tout - Visualiser dans une fenêtre à part width: 25%;
Voici la fonction Javascript qui permet ces changements :
Pour le changement de largeur, je n'utilise pas
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
24 function modifierEncadre(encId, code, newValeur) { encIdAddress = "ad"+encId; var tailleDiv = document.getElementById(encId).offsetWidth; var tailleSsDiv = document.getElementById(encIdAddress).offsetWidth; var ratio = Math.ceil((tailleSsDiv/tailleDiv)*100); if (code == "aFloat") { valeur = getComputedStyle(document.getElementById(encIdAddress)).cssFloat; } else if (code == "aWidth") { var perc = String.fromCharCode(37); valeur = ratio+perc; } str = document.getElementById(encId).innerHTML; expReg = new RegExp(valeur, 'gi'); remplacement = str.replace(expReg, newValeur); artTexte = document.getElementById("artTexte").innerHTML; expRegFin = new RegExp(str, 'gi'); remplacementFinal = artTexte.replace(expRegFin,remplacement); document.getElementById("artTexte").innerHTML=remplacementFinal; }parce que cette dernière renvoie une valeur en px. Or, j'ai besoin d'une valeur en pourcentage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part valeur = getComputedStyle(document.getElementById(encIdAddress)).width;
J'espère avoir été assez explicite et surtout, que quelqu'un saura m'aider sur cette problématique.
Merci par avance.
Partager