cs_zeguizmo
Messages postés138Date d'inscriptionvendredi 1 août 2003StatutMembreDernière intervention16 juillet 2009
-
6 août 2006 à 22:13
cs_zeguizmo
Messages postés138Date d'inscriptionvendredi 1 août 2003StatutMembreDernière intervention16 juillet 2009
-
9 août 2006 à 17:37
Salut,
Desolé pour la section mais je n'ai rien pigé alors j'ai mis au mieux ...
Je commence a devenir chèvre la. J'utilise un code (que je donnerais plus bas) pour afficher des bulles d'aide.
Je veux faire une modif : je la fais.
Elle ne fonctionne pas ........ soit, je l'enleve.
Le code qui marchait tres bien avant la modif, ne marche plus, alors
qu'il est EXACTEMENT identique au premier puisque j'ai viré la modif.
Je ne pige rien, et ca commence a me taper sur les nerf serieusement la !
Voila le code en question (il n'est pas de moi):
L'original est en noir et en italique, la modification y apparait en
rouge et en gras (ce ne sont que des symboles ajoutés, rien n'est modifié). Quand je vire la modif, le code ne fonctionne plus,
alors qu'il est exactement identique a l'original. Essayez vous verrez
par vous même.
<tt>
<style type= "text/css">
<!--
/* styles à adapter selon vos besoins et vos goûts */
.aide {
border-bottom : 1px #888 dashed;
cursor: help;
}
.bulle-aide {
position: absolute;
left: 0;
top: 0;
padding: 4px;
font-family: verdana, arial, sans-serif;
font-size: 11px;
background-color: #ffffe8;
border: 1px #888 solid;
visibility: hidden;
z-index: 100;
}
/* utile seulement si vous placer des tableaux dans vos bulles */
.bulle-aide th, .bulle-aide td {
font-size: 11px;
}
.bulle-aide caption {
font-size: 12px;
font-weight: bold;
}
-->
</style>
<script language="JavaScript">
<!-- Debut script
var CLASS_AIDE = "aide";
var g_pos_curseur;
var g_bulle_aide;
var g_textes_bulle = new Array();
var g_bulle_flag = false;
var g_id_cour = null;
onload = init;
function init() {
// création du
contenant la bulle d'aide
g_bulle_aide = creer_bulle_aide();
// affectation de onmouseover et de onmouseout sur tous les
var tab_spans = document.getElementsByTagName("span");
for (i in tab_spans) {
if (tab_spans[i].className == CLASS_AIDE) {
tab_spans[i].id = CLASS_AIDE + i;
tab_spans[i].onmouseover = afficher_aide (i) ;
// astuce pour le cas où le title contient un lien :
// seuls les textes ne contenant pas de lien ferment la bulle sur un onmouseout
// pour les autres, on fait un 2e onmouseover
if (!tab_spans[i].title.sansMouseOut()) tab_spans[i].onmouseout = masquer_aide;
// on stocke les title dans un tableau, et on supprime chaque title
// pour ne pas les afficher en même temps que la bulle d'aide
var tags_body = document.getElementsByTagName("BODY");
tags_body[0].appendChild(bulle_aide);
bulle_aide.setAttribute("id", "bulle_aide");
bulle_aide.className = "bulle-aide";
// on y ajoute un noeud texte
var texte = document.createTextNode("");
bulle_aide.appendChild(texte);
return bulle_aide;
}
function afficher_aide( i ) {
// affiche l'aide dans la bulle en fonction de l'id du span
var texte = g_textes_bulle[this.id];
// si le flag est true, on masquera la bulle (2e mouseover) si le title du span contient un lien
if (g_bulle_flag) {
if (this.id == g_id_cour) {
var afficher = false;
g_bulle_flag = false;
g_id_cour = null;
}
else {
var afficher = true;
if (texte.sansMouseOut()) g_id_cour = this.id;
else {
g_bulle_flag = false;
g_id_cour = null;
}
}
}
// sinon, on affichera la bulle
// si le title du span contient un lien : on met le flag à true (1e mouseover)
else {
var afficher = true;
if (texte.sansMouseOut()) {
g_bulle_flag = true;
g_id_cour = this.id;
}
}
// si affichage de la bulle
if (afficher) {
// on modifie le texte de la bulle d'aide
g_bulle_aide.innerHTML = texte;
// place la bulle d'aide sous le curseur
g_bulle_aide.style.left = g_pos_curseur.x-10;
g_bulle_aide.style.top = g_pos_curseur.y+5;
// et la rend visible
g_bulle_aide.style.visibility = "visible";
}
// sinon masquage de la bulle
else g_bulle_aide.style.visibility = "hidden";
}
function masquer_aide() {
// masque la bulle d'aide (déclenché par un onmouseout sur le )
g_bulle_aide.style.visibility = "hidden";
}
String.prototype.sansMouseOut = function() {
// détermine si le texte de la bulle contient certaines balises HTML (actuellement seulement des liens)
// qui empêchent la fermeture de la bulle sur un onmousout du span ayant ouvert la bulle
if (this.search(/]+>.*<\/a>/) == -1) return false;
else return true;
}
// affectation de la fonction "emplacementSouris" à l'événement onmousemove
document.onmousemove = emplacementSouris;
// Cette fonction appelle emplacementSouris à chaque mouvement de la souris
function emplacementSouris(e) {
// avec IE, on utilise l'objet "event"
if (document.all) g_pos_curseur = {x: event.offsetX, y: event.offsetY};
// avec Netscape, Mozilla, on utilise l'événement "e" en argument
else g_pos_curseur = {x: e.pageX, y: e.pageY};
}
// Fin script -->
</script>
J'ai vidé le cache, fermé mon navigateur, redémarré le PC, formatté,
plongé mon dur dans un congelo, l'ai confié a une bactérie mange virus
avant de l'envoyer y faire un tour dans l'atmosphere sulfurisée de
Venus. Il ne devrait rester aucune trace du code buggé quand j'execute
le nouveau code sans modif ...
Merci bcp de votre aide, pareceque sur Venus il est a deux doigts d'y aller le PC
</tt>
ZeGuizmo
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 avril 2013 9 août 2006 à 17:19
Je pense que j'ai trouvé la raison, malheureusement je na sait tester d'ici donc je te dévoile ma trouvaille :
"Probabilité de destruction de la flotte d'espionnage : 0%"
A mon avis ton problème vient de : "d'espionnage" avec la simple quote, essaye en supprimant la simple quote, c'est la seule phrase ayant une quote !
Si cela fonctionne il te faudra remplacer la simple quote par \'
cs_zeguizmo
Messages postés138Date d'inscriptionvendredi 1 août 2003StatutMembreDernière intervention16 juillet 2009 8 août 2006 à 23:26
Ce n'est pas la question :)
J'ai de très bonnes raisons de faire ce que je fais, et j'aurais besoin d'aide sur ce coup.
Le php ca va encore mais le js je n'y connais rien du tout, et la ca commence a devenir pressant :)
D'autant plus que si j'enleve quelques mots au texte que je veux afficher, cela fonctionne parfaitement ... la limite doit etre de 1000 caractères ou un truc du genre.
Peux tu me mettre sur la voie pour repousser cette limite ?
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 avril 2013 9 août 2006 à 08:36
Bizarre ce qu'a fait PetroleTeam, je lui en toucherai un mot !
Donc dans le fichier *.js tu fais une recherche sur " ObjShowAll" et tu remplaces la valeur 1000 par 1200 par exemple !
Attention il y en a plusieur, je ne garanti pas le résultat.
Merci de me tenir informer !
Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 avril 2013 9 août 2006 à 08:43
Bon je viens de regarder le code en profondeur et tu oublies ce que j'ai dit ci-dessus, la valeur 1000 n'a rien avoir avec une quelconque limitation. Le problème ce que je ne trouve pas de limitation dans le code !
Peux tu mettre ton code (version html, pas besoin du php...) pour que l'on puisse voir ou se situe le problème !
Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
cs_zeguizmo
Messages postés138Date d'inscriptionvendredi 1 août 2003StatutMembreDernière intervention16 juillet 2009 9 août 2006 à 13:52
Oui c'est bien mon probleme aussi, je ne trouve aucune limitation dans le code non plus :( ... Je pensais que c'etait du a mon ignorance.
J'utilise le .js et le .css d'origine livré avec les script infobulle ...
Pour ma page je ne sais pas si cela est vraiment necessaire ... l'insertion est extremement simple, et de plus, ca fonctionne parfaitement avec un texte de petite dimension ... (dans cette meme page) Alors qu'avec un texte de plus grande dimension, absolument rien ne se passe lorsque je passe la souris sur le texte entre "<span .."
La preuve étant que lorsque j'utilise mon texte sur la page fournie par Petroleteam lui même, cela ne fonctionne pas non plus !
Cela ne peut-il pas venir d'un .css machin truc plutot que du java ?
PS : je met le texte que j'utilise pour que tu testes par toi meme, c'est un rapport d'espionnage Ogame :
Matières premières sur ********** [*:***:**] le 08-06 10:01:48
Métal: 2157 Cristal: 1229
Deutérium: 423 Energie: 2433
Flotte
Satellite solaire 12
Défense
Lanceur de missiles 52 Artillerie laser légère 257
Artillerie laser lourde 13 Canon de Gauss 2
Artillerie à ions 3 Petit bouclier 1
Grand bouclier 1 Missile Interception 10
Bâtiments
Mine de métal 17 Mine de cristal 16
Synthétiseur de deutérium 14 Centrale électrique solaire 18
Centrale électrique de fusion 3 Usine de robots 6
Chantier spatial 7 Hangar de métal 5
Hangar de cristal 4 Réservoir de deutérium 3
Laboratoire de recherche 1 Silo de missiles 2
Recherche
Technologie Espionnage 10 Technologie Ordinateur 10
Technologie Armes 9 Technologie Bouclier 10
Technologie Protection des vaisseaux spatiaux 8 Technologie Energie 10
Technologie Hyperespace 6 Réacteur à combustion 9
Réacteur à impulsion 7 Propulsion hyperespace 4
Technologie Laser 10 Technologie Ions 5
Technologie Plasma 7
Probabilité de destruction de la flotte d'espionnage : 0%
Et quand on supprime la derniere ligne (probabilité ..) ca marche !! (cela ne vient pas du %, j'ai essayé de le virer, pas de résultats)
Merci de ton aide (et si il faut la page quand meme, signale le, je la posterais)