begin process at 2012 05 29 06:11:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Fermer un DIV onmouseout


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

Fermer un DIV onmouseout

jeudi 28 juillet 2005 à 11:36:59 | Fermer un DIV onmouseout

malik7934

Hello,

J'ai un input type text dans lequel j'entre du blabla. En fonction de ce blabla, un div s'ouvre juste au dessous de l'input avec des liens dedans.

Je cherche à ce que le div soit caché quand la souris quitte la zone du div (onmouseout). A la base, je me suis dit que la solution serait:

<style type="text/css">
div.prop {
   ...
   visibility:hidden;
}
</style>

<script type="text/javascript">

function AfficherleDIvEnFctDuBlabla(){...}
function comboOC(){
   if (document.getElementById('res').style.visibility == "visible")
    document.getElementById('res').style.visibility = "hidden";
}
</script>


<div id="res" class="prop" onkeyup=
AfficherleDIvEnFctDuBlabla(); onmouseout="comboOC();"></div>

Mais à peine je frôle de div, il se ferme et ce n'est bien sûr pas ce que je veux! Je souhaite que le div se ferme UNIQUEMENT si je dépasse les bords du div...

J'espère que je me suis assez bien expliqué, je suis vraiment une pive em javascript

HEELLPP!

Merci d'avance,
Malik7934
jeudi 28 juillet 2005 à 12:51:36 | Re : Fermer un DIV onmouseout

bultez

Membre Club
Réponse acceptée !

Bonjour,
ça ne me semble pas très "judicieux" ??? mais...

<div id="res"
  onmouseout="this.style.visibility='hidden';"
  onmousemove="this.style.visibility='visible';"
  style="height:20%;width:30%;background-color:#FFFF00;visibility:hidden">
exemple<br/>
texte<br/>
<input type="text"
  id="txt"/>
</div>
<input type="button"
  onclick="document.getElementById('res').style.visibility='visible';
     document.getElementById('txt').focus();"/>

°donner le focus à un champ dans le div
°si déplacement dans le div => rendre visible
°ouvrir et fermer ne sont pas les bons termes
je dirais montrer / cacher

Cordialement. Bul. ~Site~~Mail~

lundi 1 août 2005 à 08:04:07 | Re : Fermer un DIV onmouseout

malik7934

Merci pour ta proposition, je l'essaierai.

Pourquoi cela te semble-t-il pas vraiment judicieux??
lundi 1 août 2005 à 11:45:05 | Re : Fermer un DIV onmouseout

malik7934

Ca marche po . Bah, merci quand meme
lundi 1 août 2005 à 11:57:03 | Re : Fermer un DIV onmouseout

bultez

Membre Club

c'est malin de dire ça : "Ca marche po"
je suppose que cela veut dire que ça ne fonctionne pas ?
alors désolé, mais chez moi : aucun souci
donc si tu ne dis pas quelle erreur, à quelle ligne...
je suppose aussi que ton script n'est pas "tel quel"
celui que j'ai posté ( car il marche lui ), si tu ne nous
donne pas ton code, on ne pourra pas t'aider.

Cordialement. Bul. ~Site~~Mail~

lundi 1 août 2005 à 13:14:40 | Re : Fermer un DIV onmouseout

malik7934

Hello,

100% d'accord avec toi sur ta remarque! Lorsque j'ai poste ma reponse toute subtile qu'elle puisse etre, j'ai enchaine sur la redaction d'un MP a ton adresse, puis j'ai laisse tomber pour x raisons (la premiere etant que j'ai des prob de compatibilite entre browsers)...

Soit, je mets donc le code en entier. C'est sur XMLHTTPREQUEST et ne fonctionne pas forcement chez tout le monde (pour des raisons qui m'echappent encore):

<html>
<head>
<title>prout</title>

<style type="text/css">

div.prop {
 height: auto;
 width: 150px;
 overflow: auto;
 border: 1px solid #666;
 background-color: #ccc;
 padding: 8px;
 font-size: 10px;
 font-family:verdana;
 font-weight: bold;
 visibility:hidden;
}

</style>

<script type="text/javascript">

var isWorking = false; 

function getHTTPObject() {

  var xmlhttp;
 
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
   xmlhttp.overrideMimeType("text/xml");
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}

var http = getHTTPObject();

function treatquery(){
  if (!isWorking && http) {

    ch = document.send.abr.value;

    if (ch.length>2){
      http.open("GET", "treatment.php?abr=" + escape(ch), true);
      http.onreadystatechange = handleHttpResponse;
      isWorking = true;
      http.send(null);
    }

   if ((ch.length<3) && (document.getElementById('res').style.visibility == "visible"))
 document.getElementById('res').style.visibility = "hidden";
  }
}

function handleHttpResponse() { // traitement de la demande
  if (http.readyState == 4) {
   if (http.responseText.indexOf('invalid') == -1) {
    var xmlDocument = http.responseXML;
    var res = xmlDocument.getElementsByTagName('name').item(0).firstChild.data;
    var elements = res.split(";");
    var result = "<font color=\"darkblue\">Do you mean...</font><br />";
    for (var i=0;i<elements.length;i++){
      result = result + "<a style=\"text-decoration:none;color:red;\" href=\"javascript:setQuery('" + elements[i] + "');\">" + elements[i] + "</a><br />";
    }
        document.getElementById('res').style.visibility = "visible";
    document.getElementById('res').innerHTML = result;
    isWorking = false;
   
    }
  }
}

function setQuery(ch){
  document.getElementById('abr').value = ch;
}

</script>

</head>
<body>

<form name="send" style="display:inline; position: relative;">
<div style="display:inline; position: relative;">
<input type="text" id="abr" style="width: 150px;font-family:verdana; font-size:8pt;color:darkblue;" onkeyup="treatquery();" />&nbsp;&nbsp;
<input type="submit" value="verify">
<div id="res" style="position: absolute; top: 22px; left: 0px;background-color:white;" class="prop">
</div>
</div>
</form>
</body>
</html>


Voila. Pour faire tourner un exemple, il faut remplacer par exemple la partie

 for (var i=0;i<elements.length;i++){
      result = result + "<a style=\"text-decoration:none;color:red;\" href=\"javascript:setQuery('" + elements[i] + "');\">" + elements[i] + "</a><br />";
    }


par result = "<?xml version=\"1.0\" standalone=\"yes\" ><result><name>a;b;c;d<name></result>";

La, j'ai tout mis! Et mon but, bien sur, est toujours le meme: avoir le div des resultat visible que quand je me balade dessus ou, pourquoi pas, qu'il disparaisse uniquement si je clique en dehors de sa zone.

hehe...


Merci d'avance, Malik7934

lundi 1 août 2005 à 13:35:10 | Re : Fermer un DIV onmouseout

malik7934

J'ai mis une betise... ce n'est pas result mais res qui doit prendre la valeur  <xml> ...

result = "<?xml version=\"1.0\" standalone=\"yes\" ><result><name>a;b;c;d<name></result
>";

res = "<?xml version=\"1.0\" standalone=\"yes\" ><result><name>a;b;c;d;<name></result>";


Sorry!
lundi 1 août 2005 à 14:55:27 | Re : Fermer un DIV onmouseout

bultez

Membre Club

typique de nombreux échanges...

==> j'arrive pa a fer
<== proposition de solution
==> sa march po
<== demande plus de détails
==> envoi d'un script complet, intestable,
où de nombreuses erreurs existent et le
plus grâve : où la solution proposée n'est
même pas mise en oeuvre...

qu'est-ce que vous voulez faire ???

Cordialement. Bul. ~Site~~Mail~

lundi 1 août 2005 à 15:06:39 | Re : Fermer un DIV onmouseout

malik7934

"==> envoi d'un script complet, intestable, où de nombreuses erreurs existent et le
plus grâve : où la solution proposée n'est même pas mise en oeuvre..."

Bon, on rigole 5 minutes, mais la pas d'accord.

envoi d'un script complet: D'abord tu me dis "si tu ne nous donne pas ton code, on ne pourra pas t'aider" puis tu m'engueules car j'ai mis tout le code! Faut choisir un cote hein, pas contester les deux! 

intestable: Mon code tourne chez moi, pas de problemes. Il est parfaitement testable, il suffit de faire un copy/paste et de modifier une ligne pour res (j'utilise en plus un script php pour construire la variable res. Je ne vais pas le mettre en plus ici n'est-ce pas).

de nombreuses erreurs existent: C'est du
XMLHTTPREQUEST DONC cela ne fonctionne pas forcement chez tout le monde. Pour les nombreuses erreurs, j'attends ton listing! J'en ai pas de mon cote, etrange non!

la solution proposée n'est même pas mise en oeuvre: Pour la proposition proposee, je l'ai implementee, mais comme cela ne donnait rien, je l'ai retiree (j'ai eu tord?? J'aurais peut etre du la laisser dans mon code juste pour faire joli??)

qu'est-ce que vous voulez faire ???: peut etre reflechir avant d'ecrire! Comprend qui veut...
 
A bon entendeur, Malik7934

lundi 1 août 2005 à 15:22:33 | Re : Fermer un DIV onmouseout

bultez

Membre Club

qu'est-ce que tu veux que je te dise...
tu as fais des erreurs en incorporant
la solution que je t'ai proposée,
comme elle n'est pas là...
appliquer "texto" mon exemple
et ça marchera.
Cordialement. Bul. ~Site~~Mail~


1 2

Cette discussion est classée dans : input, fermer, div, visibility, onmouseout


Répondre à ce message

Sujets en rapport avec ce message

les <div et le onMouseOut [ par boin ] voilà,g un Mais ce qui m'énerve c'est que lorsque je bouge le curseur dans le <d Menu javascript Bug Petite aide pour un debutant :) [ par buff@lofluo ] Bonjour a tous, je suis debutant en javascript et j'ai un petit soucis sur mon menu en javascript.Le probleme vient du sous menu:  Si vous faites:Vehi Comment faire pour fermer une fenetre div ? [ par rich25200 ] Bonjour, j'ai ce code :         Authentification       <TABLE style="WIDTH: 280 calques div [ par tonytruand ] bonsoirUn petit coup de main SVPje n'arrive pas à coller les div "contenu" juste au dessous des div onglets ??????j'ai essayé en mettant le tout dans Execution d'une fonction [ par yoyotheboss7 ] Bonjour à tous ! J'ai une page avec des fonctions javascript. J'ai un script qui ouvre une page dans une div css. Cette div se comporte un peu comme u Récupération des champs d'un formulaire dynamique [ par Crabece ] Bonjour à tous,Je vous expose mon problème en essayant d'etre le plus claire possible :Je travaille actuellement sur un site de vente en ligne et mon envoyer un champ input text via ajax pour tchat [ par iznobe2601 ] ça fait plusieurs jours que je galere avec ce truc là qui je suis sur est simple pour vous donc pour un tchat simple live en ajax , j ' ai un champ in ouvrir fermer des div sur une même page css/javascript [ par catejo ] Bonjour à tous, j'ai un petit problème de script pour activer le deuxieme bouton Pour l'instant seul le premier bouton fonctionne . Que faut-t-il mo div [ par lolla19_116 ] Bonjour, je suis null en javascript est j'espere que je trouverai quelqu'un qui peux m'aider c urgent, mon probleme est que je chercher pour récuper ajouter une div contenant une image dans un script de commentaire [ par brutos ] Bonjour à toutes et à tous, Je me permets de poster ici pour avoir quelques explications astuces concernant un script en ajax pour poster des comment


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 1,186 sec (3)

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