Arrêter une fonction js au passage de la souris

Résolu/Fermé
Marikikikiki Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 29 janvier 2015 - 10 août 2014 à 14:19
Marikikikiki Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 29 janvier 2015 - 10 août 2014 à 15:07
Bonjour,

Je suis novice dans le domaine du code, j'ai seulement eu quelques cours de html et css lors de mon année scolaire pour être capable de construire les bases d'un site. J'ai essayé de me débrouiller comme je pouvais et ne connaissant rien au javascript j'ai utilisé un script trouvé sur un site ; il marche très bien mais j'aimerais ajouter une fonction.

Il s'agit d'un script qui fait rebondir mon image sur la page, mais j'aimerais que celle ci s'arrête à l'endroit où elle est lorsque la souris passe dessus, et qu'elle reparte lorsque le curseur n'est plus dessus. Sauriez-vous ce qu'il faut ajouter pour arriver à un tel résultat ?


Voici le code que j'ai pour l'instant :

<html>

<head>

<title>Marie Malarme</title>

</head>

<div id="img" style="position:absolute;z-index:1000">

<a href="http://www.mariemalarme.fr/about"><img src="Logo tournant/Point d'interrogation/point-interrogation.gif" border="0" width=75" alt="" onClick="pause_resume();"></a> (ici j'ai essayé de remplacer le onClick par onMouseOver, l'image s'arrête mais ne repart pas...)

</div>

<script language="JavaScript">

var xPos = 20;

var yPos = document.body.clientHeight;

var step = 1;

var delay = 5;

var height = 0;

var Hoffset = 0;

var Woffset = 0;

var yon = 0;

var xon = 0;

var pause = true;

var interval;

img.style.top = yPos;

function changePos() {

width = document.body.clientWidth;

height = document.body.clientHeight;

Hoffset = img.offsetHeight;

Woffset = img.offsetWidth;

img.style.left = xPos + document.body.scrollLeft;

img.style.top = yPos + document.body.scrollTop;

if (yon) {

yPos = yPos + step;

}

else {

yPos = yPos - step;

}

if (yPos < 0) {

yon = 1;

yPos = 0;

}

if (yPos >= (height - Hoffset)) {

yon = 0;

yPos = (height - Hoffset);

}

if (xon) {

xPos = xPos + step;

}

else {

xPos = xPos - step;

}

if (xPos < 0) {

xon = 1;

xPos = 0;

}

if (xPos >= (width - Woffset)) {

xon = 0;

xPos = (width - Woffset);

}

}

function start() {

img.visibility = "visible";

interval = setInterval('changePos()', delay);

}

function pause_resume() {

if(pause) {

clearInterval(interval);

pause = false;

}

else {

interval = setInterval('changePos()',delay);

pause = true;

}

}

start();

</script>

</body>
</html>


Voilà j'espère que quelqu'un pourra aider la débutante que je suis qui n'y comprend pas grand chose ! Merci :)
Marie.
A voir également:

2 réponses

codeurh24 Messages postés 760 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 123
10 août 2014 à 14:58
bonjour,

<img src="Logo tournant/Point d'interrogation/point-interrogation.gif" border="0" width=75" alt="" onmouseover="pause_resume();" onmouseout="pause_resume();">
0
Marikikikiki Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 29 janvier 2015
10 août 2014 à 15:07
ah d'accord c'était tout bête! au moins j'étais sur la bonne piste. merci merci ! :)
0