begin process at 2012 05 29 20:53:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

Problème attribut Title sur un Span


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème attribut Title sur un Span

samedi 26 mai 2007 à 22:21:43 | Problème attribut Title sur un Span

Lelys

Bonjour !

Je suis en train de créer une info-bulle personnalisée sur mon site, le texte de celle-ci est désigné par l'attribut Title du Span lorque l'on positionne le curseur sur le celui-ci.
Pour que seul mon info-bulle perso s'affiche (donc sans le texte du Title), je met la valeur du Title du Span à -> span.title = "";
Mon problème est qu'il m'est impossible ensuite d'attribuer une valeur à mon Title, comme si l'avoir vidé avait complètement supprimé l'attribut...

Voilà, j'espère avoir été clair, et merci d'avance !
dimanche 27 mai 2007 à 14:25:57 | Re : Problème attribut Title sur un Span

bultez

Membre Club




Bonjour,

    pour moi ( IE,FF... ) pas de problème
    et c'est moi qui doit donner un script en exemple ?
    c'est un monde ça....

<span title="exemple"
        id="sp">exemple</span>
<br />
<button onclick="document.getElementById('sp').title='';">raz</button>
<button onclick="document.getElementById('sp').title='nouveau';">nouveau</button>


Cordialement                Bul     [mon Site]     [M'écrire]



dimanche 27 mai 2007 à 21:29:50 | Re : Problème attribut Title sur un Span

Lelys

Oups ! Mes excuses pour le code, j'y ai pensé mais ça m'est effectivement sortit de l'esprit.

C'est un code semblable qui pose problème, mais pas dans un onclick.
C'est à dire que le div est vidé sur un onmouseover et rempli sur un onmouseout (remplissage qui ne fonctionne donc pas), c'est vraiment étrange !

Merci d'avoir répondu.
lundi 28 mai 2007 à 08:27:27 | Re : Problème attribut Title sur un Span

bultez

Membre Club





c'est sorti de l'esprit... mais sans y revenir !    puisque toujours pas de code !
    c'est un span ou un div ?
    qu'est-ce qui est vidé au onmouseover ?
    le title ? dans ce cas, au survol, rien ne s'affiche.
    le contenu ? dans ce cas, plus de survol posible.


Cordialement                Bul     [mon Site]     [M'écrire]



lundi 28 mai 2007 à 09:37:26 | Re : Problème attribut Title sur un Span

Lelys

J'ai effectivement fais une erreur, je parlais bien d'un Title et non d'un Div.
Je ne voyais pas l'interet de mettre un code puisque le votre est quasi identique au miens.

Quoi qu'il en soit, je viens de trouver le problème :
Mon code est passé par une fonction helpS(this); sur le onMouseOver du Span.

La fonction effectue (entre autres) l'action suivante sur le Span :

var sauvTitle;
function helpS(element) {
    sauvTitle = element.title;
    element.title = "";
}

Ce qui sauvegarde et efface le Title sans aucun problème, pour qu'il n'y est donc plus l'info-bulle du navigateur : le but recherché.
Cependant, lorsque j'appelle ma fonction helpH(this); sur le onMouseOut du Span (qui me permet entre autres de restaurer le Title sur son Span) :

function helpH(element) {
    element.title = sauvTitle;
}

Cette fonction n'a aucun effet.

J'ai donc fais plusieurs tests et j'en suis arrivé à la conclusion (en passant par un getElementById "brute", comme votre code) que le problème vient de mon passage par "this", exemple :

Si je remplace ma fonction helpS(); comme ceci :

function helpH(element) {
    document.getElementById("le_span_en_question").title = sauvTitle;
}

Le title est ici bien restauré.

Y'a-t-il une différence entre This et getElementById ?
lundi 28 mai 2007 à 10:21:55 | Re : Problème attribut Title sur un Span

bultez

Membre Club




>>Y'a-t-il une différence entre This et getElementById ?
    getElmentById recherche un élément dans la page qui possède l'ID donné
    this c'est l'objet ( l'élément ) où l'on est.
    tout dépend des appels donc.... et ici : on n'a pas !

si je comprend : onmouseover, on mémorise le title et on l'efface,
onmouseout, on remet le title
Etonne.gif    quel intêret ????

soit on a un title et il apparait au onmouseover
soit on n'en a pas, et il n'apparait pas !
de toute manière au onmouseout.... il n'apparait pas.


Cordialement                Bul     [mon Site]     [M'écrire]



lundi 28 mai 2007 à 10:46:06 | Re : Problème attribut Title sur un Span

Lelys

> getElmentById recherche un élément dans la page qui possède l'ID donné
this c'est l'objet ( l'élément ) où l'on est.
tout dépend des appels donc.... et ici : on n'a pas !

Je ne m'en serais pas douté, je ne suis pas si bete pour ne pas avoir déduit que getElementById retourne l'element qui possède tel Id et que This est l'element, à ce niveau la, je ne serais pas capable de développer des sites internet.
Je voulais juste savoir pourquoi Title marche avec getElement et pas avec This.

>si je comprend : onmouseover, on mémorise le title et on l'efface,
onmouseout, on remet le title
Etonne.gif    quel intêret ????

C'est bien pour cette raison que j'ai précisé deux fois "entre autres", c'est évident que je vais m'amuser à créer une fonction qui enregistre le Title et une autre qui le restaure dans ce seul but, encore une fois, merci de me prendre pour un idiot.
Je vous ai expliqué qu'il s'agissait d'un info-bulle perso, il faut donc que j'efface celle du navigateur, et la restaure une fois l'info-bulle disparu.

Je n'ai jamais prétendu que le Title pouvait apparaitre sur un onMouseOut.
Tout ce que je dis c'est qu'il est impossible de définir un Title à l'aide de this.title après l'avoir effacé.

La prochaine fois je me débrouillerais tout seul, ça vaudra mieux.

Merci tout de même de votre "aide".
lundi 28 mai 2007 à 11:01:29 | Re : Problème attribut Title sur un Span

bultez

Membre Club






>>Je ne m'en serais pas douté, je ne suis pas si bete pour ne pas avoir déduit ...
    je ne faisais que répondre à ta question. pourquoi tuprends la mouche
       de manière ridicule, alors que je ne fais que te répondre ????

>>Tout ce que je dis c'est qu'il est impossible de définir un Title à l'aide de this.title après l'avoir effacé.
    non.... et  aucune raison.
    mais encore une fois : tu ne nous montres pas  comment tu fait !
    enfin, pas tout, pas ce qu'il faut, et ton erreur est probablement
        ailleurs de ce que tu nous montres. tout simplement.

>>La prochaine fois je me débrouillerais tout seul, ça vaudra mieux.
>>
Merci tout de même de votre "aide".
     j'ai fait ce que j'ai pu, enfin les infos données.
    parce que chez moi... ça baigne

>>encore une fois, merci de me prendre pour un idiot.
    je ne tenrais que de comprendre ce que tu voulias faire
    que me semble parfaitement inutile. probablement parce
    que tu n'expliques pas le but.  une infobulle perso
    n'explique pas ce que tu fais.


Cordialement                Bul     [mon Site]     [M'écrire]



lundi 28 mai 2007 à 11:24:59 | Re : Problème attribut Title sur un Span

Lelys

Excuse moi de m'être emporté.

Je t'explique ce que j'aimerais faire, demande moi s'il te manque des détails :

J'essaye de créer une info-bulle qui apparait en fondu comme sur la nouvelle version du site de PayPal, mais si tu n'a pas de compte ça ne va pas te dire grand chose.
Je fais ça pour que les visiteurs aient une aide qui ne disparait pas au bout de 3 secondes (comme le fait l'info-bulle des navigateurs avec le Title), que le texte soit plus gros et que je puisse en mettre plus.

Le texte de l'info-bulle doit etre celui de l'attribut Title de l'element que l'on survole (et qui fera donc apparaitra l'info-bulle perso au onMouseOver), je pourrais utiliser un attribut perso (du style <span helpAttr="le texte d'aide" onmouseover="helpshow(this);" onmouseout="helphide(this)"></span>) pour que le Title du navigateur n'apparaissent pas, mais il faut que mon site soit validé XHTML et les attribut perso sont interdits, j'aimerais aussi ne pas affecter un Id à chaque Span d'aide pour une autre raison.

Voila le code complet de ma fonction d'affichage de l'info-bulle :
function getById(id) {
    return document.getElementById(id);
}

var helpWhileS = 0;
function helpS(element) {
    if(helpWhileS == 0) {
        getById("helpBox").style.visibility = "visible";
        getById("helpBox").style.top = (element.offsetTop + 17)+"px";
        getById("helpBox").style.left = (element.offsetLeft - 10)+"px";
        getById("helpBoxInner").innerHTML = element.title;
        element.title = "";
    }
    if(helpWhileS != 10) {
        setTimeout("helpS('"+element+"');", 50);
    }
    else {
        helpWhileS = 0;
        return;
    }
    helpWhileS++;
    getById("helpBox").style.opacity = ((0 + helpWhileS) / 10);
    getById("helpBox").style.filter = "alpha(opacity = "+((0 + helpWhileS) * 10)+")";
}


Et celui de la fonction qui la cache :
var helpWhileH = 0;
function helpH(element) {
    if(helpWhileH != 10)
        setTimeout("helpH('"+element+"');", 50);
    else {
        element.title = getById("helpBoxInner").innerHTML;
        getById("helpBox").style.visibility = "hidden";
        helpWhileH = 0;
        return;
    }
    helpWhileH++;
    getById("helpBox").style.opacity = ((10 - helpWhileH) / 10);
    getById("helpBox").style.filter = "alpha(opacity = "+((10 - helpWhileH) * 10)+")";
}


"element" correspond donc au this du Span :
<span title="Un texte d\'aide." onmouseover="helpS(this);" onmouseout="helpH(this);">aide ?</span>

J'espère avoir été plus clair.

Encore désolé de m'être énervé mais je suis la dessus depuis des jours sans arriver à rien, ça me stresse à force...

Merci.
lundi 28 mai 2007 à 11:55:34 | Re : Problème attribut Title sur un Span

bultez

Membre Club







on parle bien de title et de this ?
    je ne regardes pas le reste !?!        ( car ça vient de ça ! )


<script type="text/javascript">
function getById(id) {
    return document.getElementById(id);
}
function helpS(element) {
        getById("helpBoxInner").innerHTML = element.title;
        element.title = "";
}
function helpH(element) {
        element.title = getById("helpBoxInner").innerHTML;
}
</script>
<br />
<span id="helpBoxInner"></span>
<br />
<span id="tmp" title="Un texte d\'aide."
        onmouseover="helpS(this);"
        onmouseout="helpH(this);">aide ?</span>
<button onclick="alert(document.getElementById('tmp').title);" value="title" />


j'ai sucré ce qui ne concerne pas title et this... et this.title : ça baigne.


remarques :

                        c'est exactement le même résultat que :

<span id="helpBoxInner"></span>
<br />
<span onmouseover="document.getElementById('helpBoxInner').innerHTML='un texte d\'aide';"
                    onmouseout="document.getElementById('helpBoxInner').innerHTML='';">aide ?</span>
       

                                    et aussi que :

<span id="helpBoxInner" style="display:none">un texte d'aide</span>
<br />
<span onmouseover="document.getElementById('helpBoxInner').style.display='none'"
                    onmouseout="document.getElementById('helpBoxInner').style.display='inline';">aide ?</span>

                   


    maintenant, si tu veux qu'on regardes le reste....




Cordialement                Bul     [mon Site]     [M'écrire]




1 2

Cette discussion est classée dans : problème, title, info, attribut, span


Répondre à ce message

Sujets en rapport avec ce message

problème affichage info bulle [ par _lolo ] Bonjour,Voilà j'ai récupéré un p'tit script pour faire de belles infos bulles :)Malheureusement les infos bulles qui apparaissent dans le menu droit d info bulle dans un select [ par corback ] Bonjour, J'utilise actuellement un select contenant une liste d'options. Le problème est que la taille de mon select est fixe et que le contenu de me Envoyer une info depuis un popup [ par Zocrom ] Bonjour à tous,Après de nombreuses recherches (sans résultats ), je viens vous exposer mon pb.Je cherche à faire quelque chose de simple mais je ne vo problème de script [ par zanzibaros ] Bonjour, je rencontre un problème au niveau du fonctionnement de mon script.Au début il fonctionnait lorsque l'attribut "name" était tout simplement " cacher un attribut alt pour ie [ par misskis ] Bonjour à tous,J'ai skiné mes title avec un script js pour avoir un rendu graphique plus sympa mais j'ai un souci sur ie car la balise alt apparait au Problème avec un array de div et l'attribut className [ par Noursounet ] Bonjour à tous,Je suis en train de développer un objet Multiview tout en javascript et je bute sur un problème qui je pense est lié à IE7. Le principe Problème charset avec XMLHttpRequest [ par destiny ] Bonjour,Mon problème avec lequel je vais certainement m'arracher les cheveux est le suivant :j'envoie en methode POST des valeurs qui peuvent contenir Problème a élucider ! function change() [ par drime ] Bonjour à tous,J'ai un problème de javascript, Une rigolade certainement pour les programmateurs de ce forum !J'ai un diaporama simple qui utilise la Icompatibilité entre 2 Scripts... [ par xeroxiss ] Bonjour à tous, Je poste ici ma petite question en désespoir de cause.. J'ai beaucoup cherché d'où pouvais venir le problème mais sans résultats. Je p virtualbox [ par bultez ] bonjour à toutes et à tous,ce n'est pas  un problème de programmation, mais il y a sûrement ici les compétences pour m'aider !j'ai installé VirtualBox


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 8,689 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales