Javascript vraag
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
var fxslides = {};
for(var x=0;x < $$('.listsection').length;x++) {
$$('.listitem')[x].addEvent('mouseenter',function(){fxslides[x].slideIn();});
$$('.listsection')[x].addEvent('mouseleave',function(){fxslides[x].slideOut();});
fxslides[x] = new Fx.Slide($$('.listdetails')[x],{
duration:1000,
link:'cancel',
transition:Fx.Transitions.Bounce.easeOut
});
fxslides[x].hide();
}
?>
var fxslides = {};
for(var x=0;x < $$('.listsection').length;x++) {
$$('.listitem')[x].addEvent('mouseenter',function(){fxslides[x].slideIn();});
$$('.listsection')[x].addEvent('mouseleave',function(){fxslides[x].slideOut();});
fxslides[x] = new Fx.Slide($$('.listdetails')[x],{
duration:1000,
link:'cancel',
transition:Fx.Transitions.Bounce.easeOut
});
fxslides[x].hide();
}
?>
Bij het uitvoeren van deze code worden er aan meerdere element een event toegevoegd. Zodra deze event gestart wordt, wordt de functie "function(){fxslides[x].slideOut();}" gestart. Echter, wanneer deze functie gestart wordt krijg ik de error dat "x" niet bestaat.
Dat komt namelijk omdat X buiten de functie is aangemaakt in de FOR loop. Hoe kan ik X meegeven aan de functie?
functie aanroepen in de loop. op de laatste draai?
wesley schreef op 07.03.2009 17:48:
functie aanroepen in de loop. op de laatste draai?
snap niet wat je bedoeld.
een -1 meegeven aan de lenght, want je begint namelijk met tellen bij 0.
dit al geprobeerd?
En geen idee wat Lapidi raaskalt... Zie de relevantie totaal niet...
En geen idee wat Lapidi raaskalt... Zie de relevantie totaal niet...
Wat jij nu zegt had ik al onderzocht, maar in jouw geval wordt "x" toegewezen met de event details en niet de x uit de for-loop.
toby hinloopen schreef op 07.03.2009 23:50:
Heb al een andere oplossing.
Wat jij nu zegt had ik al onderzocht, maar in jouw geval wordt "x" toegewezen met de event details en niet de x uit de for-loop.
Wat jij nu zegt had ik al onderzocht, maar in jouw geval wordt "x" toegewezen met de event details en niet de x uit de for-loop.
Was ik inderdaad al bang voor. Maar wat is je andere oplossing? Want er moet ook wel een geldige oplossing zijn lijkt me.
WillemJan Z schreef op 07.03.2009 23:55:
Was ik inderdaad al bang voor. Maar wat is je andere oplossing? Want er moet ook wel een geldige oplossing zijn lijkt me.
toby hinloopen schreef op 07.03.2009 23:50:
Heb al een andere oplossing.
Wat jij nu zegt had ik al onderzocht, maar in jouw geval wordt "x" toegewezen met de event details en niet de x uit de for-loop.
Wat jij nu zegt had ik al onderzocht, maar in jouw geval wordt "x" toegewezen met de event details en niet de x uit de for-loop.
Was ik inderdaad al bang voor. Maar wat is je andere oplossing? Want er moet ook wel een geldige oplossing zijn lijkt me.
Code (php)
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
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
<?
foreach($results as $key=>$result) {
echo '<div class="subsection listsection">';
echo '<div class="listitem" style="height:70px;">';
echo '<img src="img/300x200_01.png" style="height:70px;"/>';
echo '</div>';
echo '<div class="listdetails">';
echo '<img src="img/300x200_01.png"/>';
echo '</div>';
echo '</div>';
if($LIST_FX_TRIGGER) {
echo '<script type="text/javascript">fxslides['.$key.'] = new Fx.Slide($$(\'.listdetails\')['.$key.'],{duration:400,link:\'cancel\'}).hide();';
if($LIST_FX_TRIGGER == 'hover') {
echo '$$(\'.listsection\')['.$key.'].addEvent(\'mouseenter\',function(){fxslides['.$key.'].slideIn();});';
echo '$$(\'.listsection\')['.$key.'].addEvent(\'mouseleave\',function(){fxslides['.$key.'].slideOut();});';
} elseif($LIST_FX_TRIGGER == 'click') {
echo '$$(\'.listitem\')['.$key.'].addEvent(\'click\',function(){fxslides['.$key.'].toggle();});';
} elseif($LIST_FX_TRIGGER == 'click/autoclose') {
echo '$$(\'.listitem\')['.$key.'].addEvent(\'click\',function(){fxslides['.$key.'].slideIn();});';
echo '$$(\'.listsection\')['.$key.'].addEvent(\'mouseleave\',function(){fxslides['.$key.'].slideOut();});';
} elseif($LIST_FX_TRIGGER == 'click/hover') {
echo '$$(\'.listitem\')['.$key.'].addEvent(\'click\',function(){if(fxslides['.$key.'].open){fxslides['.$key.'].slideOut();fxslide_hover=false;}else{fxslides['.$key.'].slideIn();fxslide_hover=true;}});';
echo '$$(\'.listsection\')['.$key.'].addEvent(\'mouseenter\',function(){if(fxslide_hover){fxslides['.$key.'].slideIn();}});';
echo '$$(\'.listsection\')['.$key.'].addEvent(\'mouseleave\',function(){if(fxslide_hover){fxslides['.$key.'].slideOut();}});';
}
echo '</script>';
}
}
?>
foreach($results as $key=>$result) {
echo '<div class="subsection listsection">';
echo '<div class="listitem" style="height:70px;">';
echo '<img src="img/300x200_01.png" style="height:70px;"/>';
echo '</div>';
echo '<div class="listdetails">';
echo '<img src="img/300x200_01.png"/>';
echo '</div>';
echo '</div>';
if($LIST_FX_TRIGGER) {
echo '<script type="text/javascript">fxslides['.$key.'] = new Fx.Slide($$(\'.listdetails\')['.$key.'],{duration:400,link:\'cancel\'}).hide();';
if($LIST_FX_TRIGGER == 'hover') {
echo '$$(\'.listsection\')['.$key.'].addEvent(\'mouseenter\',function(){fxslides['.$key.'].slideIn();});';
echo '$$(\'.listsection\')['.$key.'].addEvent(\'mouseleave\',function(){fxslides['.$key.'].slideOut();});';
} elseif($LIST_FX_TRIGGER == 'click') {
echo '$$(\'.listitem\')['.$key.'].addEvent(\'click\',function(){fxslides['.$key.'].toggle();});';
} elseif($LIST_FX_TRIGGER == 'click/autoclose') {
echo '$$(\'.listitem\')['.$key.'].addEvent(\'click\',function(){fxslides['.$key.'].slideIn();});';
echo '$$(\'.listsection\')['.$key.'].addEvent(\'mouseleave\',function(){fxslides['.$key.'].slideOut();});';
} elseif($LIST_FX_TRIGGER == 'click/hover') {
echo '$$(\'.listitem\')['.$key.'].addEvent(\'click\',function(){if(fxslides['.$key.'].open){fxslides['.$key.'].slideOut();fxslide_hover=false;}else{fxslides['.$key.'].slideIn();fxslide_hover=true;}});';
echo '$$(\'.listsection\')['.$key.'].addEvent(\'mouseenter\',function(){if(fxslide_hover){fxslides['.$key.'].slideIn();}});';
echo '$$(\'.listsection\')['.$key.'].addEvent(\'mouseleave\',function(){if(fxslide_hover){fxslides['.$key.'].slideOut();}});';
}
echo '</script>';
}
}
?>