[JS] Thumbnail slider stop niet

Pagina: 1
Acties:

  • X-trace
  • Registratie: Juni 2004
  • Laatst online: 02-11-2024
Ik heb een slider gemaakt. Bij een mouse over aan de rechter kant beweegt een interne DIV heen en weer. Momenteel werkt alleen de 'volgende' knop nog, maar bij de mouseout blijft hij scrollen. Hoe kan ik ervoor zorgen dat hij bij een mouseout stopt?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<head>
<style>
BODY {
    background-color:#3366FF;
}
DIV#back {
    position:absolute;
    top:85px;
    left:40px;
}
DIV#forward {
    position:absolute;
    top:85px;
    left:620px;
}
DIV#container {
    background-color:#FFFFFF;
    width:500px;
    height:100px;
    border:solid 1px #000000;
    overflow:hidden;
    position:absolute;
    top:50px;
    left:100px;
}
DIV#images {
    position:relative;
    width:1300px;
    left:-100px;
}
DIV#images IMG {
    float:left;
    margin:8px;
    border:solid 1px #cccccc;
}
</style>
<script language="javascript" type="text/javascript">
function moveRight(objId,defPos,speed) {
    if (document.getElementById) {
        var obj = document.getElementById(objId);
        var pos = obj.style.left.split('px');
        if(pos[0] == '') {
            pos[0] = defPos;
        }
        var newPos = parseFloat(pos[0])-parseFloat(speed);
        obj.style.left = newPos+'px';
        window.setTimeout("moveRight('"+objId+"',"+defPos+","+speed+")",100);
    }
}
function moveStop(objId) {
    if (document.getElementById) {
        var obj = document.getElementById(objId);
        var pos = obj.style.left.split('px');
        if(pos[0] == '') {
            pos[0] = defPos;
        }
        var newPos = parseFloat(pos[0]);
        obj.style.left = newPos+'px';
    }
}
</script>
</head>

<body>
<div id="back"><a href="#" onmouseover="">&lt; terug</a></div>
<div id="container">
  <div id="images">
    <img src="<afbeelding>" border="0" />
    <img src="<afbeelding>" border="0" />
    <img src="<afbeelding>" border="0" />
    <img src="<afbeelding>" border="0" />
    <img src="<afbeelding>" border="0" />
    <img src="<afbeelding>" border="0" />
    <img src="<afbeelding>" border="0" />
    <img src="<afbeelding>" border="0" />
    <img src="<afbeelding>" border="0" />
    <img src="<afbeelding>" border="0" />
  </div>
</div>
<div id="forward"><a href="#" onmouseover="moveRight('images',-100,5);" onmouseout="moveStop('images');"><img src="<afbeelding>" border="0" /></a></div>
</body>

You cannot not communicate


  • X-trace
  • Registratie: Juni 2004
  • Laatst online: 02-11-2024
Inmiddels heb ik de oplossing gevonden: de timeout een variabele toekennen en bij de mouseout een clearTimout aanroepen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function moveRight(objId,defPos,speed) {
    if (document.getElementById) {
        var obj = document.getElementById(objId);
        var pos = obj.style.left.split('px');
        if(pos[0] == '') {
            pos[0] = defPos;
        }
        var newPos = parseFloat(pos[0])-parseFloat(speed);
        obj.style.left = newPos+'px';
        timeout=setTimeout("moveRight('"+objId+"',"+defPos+","+speed+")",100);
    }
}
function moveStop() {
    clearTimeout(timeout);
}

<a href="#" onmouseover="moveRight('images',-100,5);" onclick="moveStop();moveRight('images',-100,10);" onmouseout="moveStop();">

You cannot not communicate