espace en javascript

espace en javascript - HTML/CSS - Programmation

Marsh Posté le 12-05-2006 à 09:33:45    

Bonjour,
 
Je cherche à faire une boite de dialogue à laquelle je passe une string.
Seulement j'aimerais que cette string soit en fait un dessin fait avec des caractères. J'ai donc besoin d'espace blanc entre mes caractères et javascript ne prend en compte qu'un seul espace entre 2 caractères. J'ai essayé le caractère d'échappement suivi du code ascii se l'espace, code en octal, en unicode... rien ne fonctionne.  
 
Voici mon code:
 
function confirm_suppr_type()
{
var s;
 
s="       .\n"+
"      / \\             ***************************\n"+
"     / | \\                     ATTENTION\n"+
"    /  |  \\           ***************************\n"+
"   /   |   \\\n"+
"  /         \\     Vous vous apprétez à supprimer le type X\n"+
" /     O     \\    Etes-vous sur de vouloir continuer?\n"+
"/_____________\\\n ";
 
confirm(s);
}

 
 
et voici ce que ça donne:
 
.
/\***************************
/|\ATTENTION
/|\***************************
/|\
/\Vous vous apprétez à supprimer le type.
/O\Etes-vous sur de vouloir continuer?
/_____________\

 
 
 
 
Merci de votre aide

Reply

Marsh Posté le 12-05-2006 à 09:33:45   

Reply

Marsh Posté le 12-05-2006 à 09:36:50    

essaie avec le caractère espace html &nbsp et utilise une police monospace comme courrier new. Sinon tu t'embête bien, il suffit de créer une image sur laquelle tu calques un texte ;)

Reply

Marsh Posté le 12-05-2006 à 09:43:17    

Oui mais je te rappelle quand même que je fais du javascript. Le caractère   ne fonctionne pas. Et pour ce qui est de l'image, je suis tout à fait d'accord. Seulement je n'ai pas trouvé d'exemple proposant d'inclure une image dans une boite de dialogue, ou bien de changer le logo de la boite, comme on peut le faire en java. Je ne suis pas persuadé que ce soit prévu en javascript. Mais merci de ton aide quand même.

Reply

Marsh Posté le 12-05-2006 à 09:51:26    

Ah ok, j'avais pas compris, tu utilise une boite javascript en fait ! Tu utilises quoi actuellement, un confirm ?

Reply

Marsh Posté le 12-05-2006 à 09:56:23    

Tu peux feinter :
Tu créer un div flottant que tu met à hidden. Dans ce div, tu te fais une super boite de dialogue comme tu veux avec une belle image de fond, des beaux boutons, etc... Ensuite, au lieu de déclencher ton confirm pour la suppression du type, tu passes le div à visible. Cliquer sur un bouton du div fera l'action que tu leur aura attribué et également repasser le div à hidden.
Voila :p

Reply

Marsh Posté le 12-05-2006 à 10:01:31    

Ouais c'est pas con. Et ça rendra surement beaucoup mieux que ma boite de dialogue. Et sinon tu as une idée de la façon de s'y prendre pour centrer la div. Je sais comment positionner par rapport au coin haut gauche mais après ça dépend de la résolution.

Reply

Marsh Posté le 12-05-2006 à 10:08:34    

Javascript te permet de détecter la résolution de ton écran :
* window.screen.width
* window.screen.height
var positionGauche = (window.screen.width/2)-largeurDiv;
var positionHaut = (window.screen.height/2)-heuteurDiv;
 
Enfin, c'est juste une idée comme ça ;)

Reply

Marsh Posté le 12-05-2006 à 10:11:07    

Chuper merchi !!! Ca devrait pouvoir se faire.  
 
Bonne fin de journée.

Reply

Marsh Posté le 12-05-2006 à 10:17:51    

Jette un coup d'oeil à ça : http://blogus.xilinus.com/pages/javawin

Reply

Marsh Posté le 12-05-2006 à 14:55:25    

Bon je dois pas être doué.  
J'arrive bien à récupérer la taille du document:
var larg = (document.body.clientWidth);
var haut = (document.body.clientHeight);
 
cette méthode est préférable à la suivante puisque elle ne tient pas compte des menus du navigateur...:
window.screen.width
window.screen.height
 
Par contre, impossible de récupérer la largeur du div.
J'ai essayé des trucs comme ça:
var div = document.getElementById("cadre_confirm" );
var dl = div.width;     ou     var dl = div.style.width;   --> mais ça ne retourne rien
 
Si y a pas d'autres solutions, je vais affecter les dimensions moi même mais ce serait dommage.
 
Sinon Merci Florent pour ton lien. C'est super impressionnant, mais beaucoup trop compliqué pour moi.

Reply

Marsh Posté le 12-05-2006 à 14:55:25   

Reply

Marsh Posté le 12-05-2006 à 15:08:56    

Bon bah finalement, le problème c'est que mes styles de div étaient dans une feuille externe, et que dans certains cas, javascript ne peut pas y accéder.  
Il faut l'aider un peu en faisant ça:
 
function getStyle(el,styleProp){
 var x = document.getElementById(el);
 if (window.getComputedStyle)
  var y = window.getComputedStyle(x,null).getPropertyValue(styleProp);
 else if (x.currentStyle)
  var y = eval('x.currentStyle.' + styleProp);
 return y;
}
 
plus de renseignements ici : http://forum.alsacreations.com/top [...] tylesheets


Message édité par letesp le 12-05-2006 à 15:09:42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed