Page 1 sur 1
onmouseover avec un délai d'une seconde puis 1 click
Posté : 31 mars 2009, 16:05
par Invité
Bonjour à tous
Voila depuis hier j'essaye de faire en sorte que lorsque la souris passe sur un bouton il y a un délai de 1 seconde et ensuite ça clique
Alors j'ai trouvé ça sur ce forum
Code : Tout sélectionner
<head>
<script type='text/javascript'>
var temps
function waitedlongenough(){
alert ('test');
}
</script>
</head>
<body>
<div onmouseover="temps=setTimeout(function(){waitedlongenough();},1000);" onmouseout="clearTimeout(temps)"</div>
</body>
quand la souris passe dessus au bout d'une seconde j'ai une boîte de message mais je voudrais que l'événement soit un clique
Merci d'avance pour vos réponses
Posté : 31 mars 2009, 18:24
par Ryle
Un clic, c'est uniquement l'action de l'utilisateur sur le bouton et rien de plus...
C'est à toi de définir ce qui se passe lorsqu'un élément est cliqué (tu peux soumettre un formulaire, le remettre à zéro, faire appel à une fonction etc.)
Sur le même principe, ton script actuel appelle la fonction waitedlongenough() une seconde après le passage de la souris, mais c'est à toi de définir ce que fait ta fonction... est-ce qu'elle soumet un formulaire, le remet à zéro, appel une fonction etc.
re
Posté : 31 mars 2009, 19:11
par pelluche
salut
Merci de me répondre,
J'ai oublié de mentionner le fait que je suis ultra novice
et que je n'ai absolument rien compris à ta réponse.
Pourrais-tu adopter un langage pour les "nuls"
merci
Posté : 31 mars 2009, 21:36
par Ryle
erf... alors, hmm.. commençons par le commencement : quand tu dis que ca doit déclencher un clic, ça signifie quoi pour toi ? qu'est ce qui doit se passer concrètement ?
Ca doit faire le bruit du clic de la souris ? Ca doit ouvrir une nouvelle page ? ....
re
Posté : 31 mars 2009, 21:39
par pelluche
en fait je voudrais que lorsque la souris survolle un bouton il y a un temps de une seconde et ensuite ça clique
Posté : 31 mars 2009, 21:50
par Ryle
Et ton bouton, il doit faire quoi en temps normal, quand on clique dessus ?
Il doit juste s'enfoncer ? ou plus si affinité ? (et quoi si affinité ?

)
re
Posté : 31 mars 2009, 22:24
par pelluche
Bof c'est pas grave merci quand même
Posté : 01 avr. 2009, 21:47
par Invité
heum, si je peux me permettre, je crois que ce jeune padawan veut dire qu'il voudrait que son bouton passe à l'état "cliqué" après le mouseover +1 seconde...c bien ça?
re
Posté : 02 avr. 2009, 12:26
par pelluche
heum, si je peux me permettre, je crois que ce jeune padawan veut dire qu'il voudrait que son bouton passe à l'état "cliqué" après le mouseover +1 seconde...c bien ça?
salut
oui c'est exactement ça

Posté : 02 avr. 2009, 20:37
par AB
Si c'est un bouton de type submit, avec ta fonction JS tu peux affecter l'attribut disabled="disabled".
Si l'apparence ne te convient pas ou si ce n'est pas un bouton, tu peux créer l'image du bouton toi-même, et remplacer cette image par une autre (qui symbolise le bouton cliqué et que tu auras précédemment crée) toujours avec ta fonction JS.
Eventuellement, tu peux mettre ton image en background.
Posté : 02 avr. 2009, 20:56
par AB
Par exemple pour changer un image onmouseover après une seconde ton code pourrait ressembler à ça :
function waitedlongenough(id,source) {
document.getElementById(id).src = source;
}
<img id="monimage" src="Images/image1.png" onmouseover="setTimeout(function(){waitedlongenough('monimage','Images/image2.png');},1000)" alt="" />
Posté : 02 avr. 2009, 22:56
par Nours312
heuu ... à moins que ce soit pour agir sur un onclick ou un lien <a> non ?
dans ce cas :
function waitedlongenough(id) {
document.getElementById(id).click();
}
<a onmouseover="setTimeout(function(){waitedlongenough(this.id);},1000)" href="..." id="test">Lien</a>
ça devrait fonctionner non ?
@+
Posté : 03 avr. 2009, 00:40
par AB
heuu ... à moins que ce soit pour agir sur un onclick ou un lien <a> non ?
dans ce cas :
function waitedlongenough(id) {
document.getElementById(id).click();
}
<a onmouseover="setTimeout(function(){waitedlongenough(this.id);},1000)" href="..." id="test">Lien</a>
ça devrait fonctionner non ?
@+
Cela ne pourra marcher qu'avec IE car click() est spécial IE et n'a apparemment pas d'équivalent pour FF et les autres navigateurs. C'est donc à proscrire.
Par ailleurs this.id ne fonctionne pas avec cette syntaxe

Posté : 03 avr. 2009, 09:44
par Nours312
Oups .... !!
c'est bizard, il me semble pourtant l'avoir employé ! ... et n'utilisant pas IE, .... je pige Pas !
dans tous les cas, sans explication sur le But Ultime, comment concevoir la fonc ...
MerciBienAB
Posté : 03 avr. 2009, 13:26
par AB
Oups .... !!
c'est bizard, il me semble pourtant l'avoir employé ! ... et n'utilisant pas IE, .... je pige Pas !
dans tous les cas, sans explication sur le But Ultime, comment concevoir la fonc ...
MerciBienAB
La fonction click() serait dangereuse pour la sécurité, cela m'étonnait que cette fonction soit supportée par des navigateurs modernes et c'est ce qui m'a mis la puce à l'oreille. Après une rapide recherche sur le web il se dit que c'est une fonction supportée uniquement par IE et il serait logique que les nouvelles versions ne la supporte pas sans afficher un message d'alerte.