begin process at 2010 03 22 13:03:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Amélioration d'une boite flotante...


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

Amélioration d'une boite flotante...

lundi 10 mars 2008 à 17:31:32 | Amélioration d'une boite flotante...

Nathbest

Bonjour à tous, alors voilà:

J'ai un script qui me permet d'ouvrir une boite (qui se voit à moitié) lorsque je passe la souris deçu via la fonction h_open(), puis qui me permet également, en cliquant sur la boite, de la refermer via la fonction h_close().

Enfaite j'aimerai que tant que la la boite ne soit pas complettement ouverte, il soit impossible d'effectuer la fonction h_close(), puis que lors de la fermeture de la boite, il soit impossible d'effectuer la fonction h_open().

J'ai pensé à mettre peut étre un timer (genre par exemple quand la fonction h_open() est demandé, bin durant 3 seconde il est impossible d'éxecuter la fonction h_close()), ou bien un controle du genre: tant que la variable "p" n'est pas égale à 0 il est impossible d'éxécuter la fonction h_close() et tant que la variable "p" n'est pas égale à -135 il est impossible d'éxécuter la fonction h_open()

Enfin voilà je ne sais pas quoi faire et comment le faire, donc je suis ouvert à toute aide..

Voici mon CODE:

<head>

<style type="text/css" media="screen">

/* BLOC gauche menu déroulant */
#menuderoulant {
  background: url('image/boite.png') no-repeat top left;
  position:fixed;
  top:145px;
  width:160px;
  height:110px;
  padding-top: 9px;
  padding-bottom: 9px;
  padding-left: 20px;
  padding-right: 30px;
  visibility: visible;
}

</style>



<script>
<!-- fonction Menu déroulant gauche -->

var p=-135;
var iTimer = null;

<!-- ouverture menu -->
function h_open(){ 
clearTimeout( iTimer); 
document.getElementById("menuderoulant").style.left = p +"px"; 
if(p < 0){   
p=p+5;   
iTimer = setTimeout("h_open()",1); 
}
}
<!-- fermeture menu -->
function h_close(){ 
clearTimeout( iTimer); 
document.getElementById("menuderoulant").style.left = p +"px"; 
if(p > -135){   
p=p-5;   
iTimer = setTimeout("h_close()",1); 
}
}



</script>


</head>


<body>

<!--  // Affichage Boite flotante sur la gauche    -->

<script>
document.write('<div id="menuderoulant" style="left:'+p+'px;" onClick="h_close()" onMouseover="h_open()">');}

document.write('<div class="conteneur" align="center" style="float: left; margin-top: 14px; margin-bottom: 9px; margin-left: 25px; margin-right: 30px;"><h5>Un problème,<br>une question !<br><br><a href="aide.php" onClick="popUp(this.href,\'fixed\',\'center\',\'center\',\'658\',\'550\');return false;">Cliquez ici pour nous contacter.</a></h5></div>');

document.write('</div>');}
</script>


</body>




Voilà, merci encore pour votre aide...
Ciao,
Nath
lundi 10 mars 2008 à 18:43:55 | Re : Amélioration d'une boite flotante...

PetoleTeam

Membre Club
Bonjour,
essaies avec un flag que tu mets a true lorsque la boîte est entièrement ouverte et autorise la fonction de fermeture que si ce flag est true
;O)
lundi 10 mars 2008 à 21:30:49 | Re : Amélioration d'une boite flotante...

Nathbest

Bin personnellement j'aurai préférer avec un TIMER.

Enfaite je viens de modifier dans mon code le onClick="h_close()" par un onMouseout="h_close()"

Ce qui donne:



<!--  // Affichage Boite flotante sur la gauche    -->

<script>
document.write('<div id="menuderoulant" style="left:'+p+'px;" onMouseout="h_close()" onMouseover="h_open()">');}

document.write('<div class="conteneur" align="center" style="float: left; margin-top: 14px; margin-bottom: 9px; margin-left: 25px; margin-right: 30px;"><h5>Un problème,<br>une question !<br><br><a href="aide.php" onClick="popUp(this.href,\'fixed\',\'center\',\'center\',\'658\',\'550\');return false;">Cliquez ici pour nous contacter.</a></h5></div>');

document.write('</div>');}
</script>



Donc j'aimerai bien mettre un timer de par exemple 10 secondes sur le onMouseout="h_close()"  ou sur la fonction  h_close()" ; de sorte que lorsque l'utilisateur quitte la zone de la boite avec la souris, la boite ne se referme qu'après 10 secondes.

Voilà donc si vous avez une idée sur la réalisation de ceci, je suis à l'écoute

Merci.
lundi 10 mars 2008 à 21:42:00 | Re : Amélioration d'une boite flotante...

PetoleTeam

Membre Club
Réponse acceptée !
dans ce cas mettre sur le onmouseout une fonction de fermeture qui, elle, fait appel à un setTimeout de la fonction h_close avec un délai de 10 s
;O)


Cette discussion est classée dans : fonction, boite, impossible, open, close


Répondre à ce message

Sujets en rapport avec ce message

Impossible d'acceder a une fonction [ par rivierem ] Bonjour,Voila j'ai recuperer un bout de code sur internetIl y avais une fonction javascript qui s'activait sur des boite deroulantesLe probleme j'ai v Ajouté un window.open dans une fonction [ par pyranhaz ] function Agree(Terms) { checkobj = Terms; if(document.donnee.agree.checked == true) { document.donnee.btn_valid.dis fonction close ne marche pas sur la fenêtre 'première' du navigateur [ par thierry ] Bonjour,Je suis à la recherche d'une solution concernant la fermeture la fenêtre 'première' du navigateur sans validation. La fonction close ne foncti FONCTION CLOSE DANS LES FRAME [ par ATH|500| ] J'ai essayer mais ça marche pas :O( je crois qu'il faut ordonner au deux de se fermer ??? avec la fonction CLOSE ?P.s j'ai 2 frames dans ma page web ! Le popup qui se mort la queue [ par emilia123 ] bonjour, j'ai un petit problème d'ouverture de popup. je suis sur un hebergeur gratuit qui ouvre des popups de pub sur chaque page.Ceci étant assez dé print() et close() [ par mageonyme ] salut, je voulais ouvrir, imprimer puis fermer une popup mais une fois la fonction window.print(); executée, la fonction window.close(); ne s'execute Frame et fonction windows open [ par CedricColin ] SalutJe souhaite a partir d'une page web ouvrir 2 nouvelle pages dans 2 iframe differente pour cela j'ai fait un script du style :window.open("page1.p Contrôle en fonction des checkboxs [ par supertatane80 ] Bonjour à tous,j'ai un formulaire assez complexe avec des dates, des selects et des champs nombres ou autres, le problème est que je ne sais pas comme fonction javascript sur HTML [ par vbnino ] Salut!  -Je sais méme pas sur quelle theme faut poser cette question. -Comment appeler une fonction javascript par l'HTML ,par-ce-que j'ai ce code :<! Appel de fonction impossible [ par Halala ] Bonjour, Le code ci-dessous (entre les balises ) fonctionne :


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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 : 0,281 sec (4)

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