Event alleen bij voorwaarde
ik zit met een probleempje waar ik niet uitkom. ik heb een site met een slideshow. die wil ik kunnen besturen op een touchscreen door te 'swypen'. nou moet het script hier alleen op reageren als de slideshow geopend is. ik krijg de voorwaarde niet echt voor elkaar. misschien dat het best gaat door een event te definiëren, maar dat lukte mij niet echt (ik ben niet zo heel erg thuis is jquery en javascript)
hier de code
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
if(Shadowbox.isOpen() === true){ //als de slideshow is geopend
$(document).touchwipe({ //als er een swypebeweging is (werkt niet als ik een div van de slidehsow kies in de selector, werkt alleen met document
wipeRight: function() {
Shadowbox.previous();
},
wipeLeft: function() {
Shadowbox.next();
}
});
};
$(document).touchwipe({ //als er een swypebeweging is (werkt niet als ik een div van de slidehsow kies in de selector, werkt alleen met document
wipeRight: function() {
Shadowbox.previous();
},
wipeLeft: function() {
Shadowbox.next();
}
});
};
als ik de voorwaarde pas na het event zet kan ik in de onderliggende pagina niet goed meer navigeren dus deze moet voor het event
ik had dus een dergelijk event gedefineerd:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(Shadowbox.isOpen === true){
$(document).trigger('slideopen')
aan = 1
});
$(document).on('slideopen', function(){
$(document).touchwipe({
wipeRight: function(){
Shadowbox.previous();
},
wipeLeft: function(){
Shadowbox.next();
}
});
});
$(document).trigger('slideopen')
aan = 1
});
$(document).on('slideopen', function(){
$(document).touchwipe({
wipeRight: function(){
Shadowbox.previous();
},
wipeLeft: function(){
Shadowbox.next();
}
});
});
aleen verandert de waarde bij het laden van de slideshow niet
Toevoeging op 01/06/2013 02:55:18:
Marijn Struijlaart op 01/06/2013 01:35:02:
Hoi allemaal
ik zit met een probleempje waar ik niet uitkom. ik heb een site met een slideshow. die wil ik kunnen besturen op een touchscreen door te 'swypen'. nou moet het script hier alleen op reageren als de slideshow geopend is. ik krijg de voorwaarde niet echt voor elkaar. misschien dat het best gaat door een event te definiëren, maar dat lukte mij niet echt (ik ben niet zo heel erg thuis is jquery en javascript)
hier de code
als ik de voorwaarde pas na het event zet kan ik in de onderliggende pagina niet goed meer navigeren dus deze moet voor het event
ik had dus een dergelijk event gedefineerd:
aleen verandert de waarde bij het laden van de slideshow niet
deels opgelost door dit
alleen krijg ik de functie nog niet geactiveerd als dat nodig is...
ik zit met een probleempje waar ik niet uitkom. ik heb een site met een slideshow. die wil ik kunnen besturen op een touchscreen door te 'swypen'. nou moet het script hier alleen op reageren als de slideshow geopend is. ik krijg de voorwaarde niet echt voor elkaar. misschien dat het best gaat door een event te definiëren, maar dat lukte mij niet echt (ik ben niet zo heel erg thuis is jquery en javascript)
hier de code
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
if(Shadowbox.isOpen() === true){ //als de slideshow is geopend
$(document).touchwipe({ //als er een swypebeweging is (werkt niet als ik een div van de slidehsow kies in de selector, werkt alleen met document
wipeRight: function() {
Shadowbox.previous();
},
wipeLeft: function() {
Shadowbox.next();
}
});
};
$(document).touchwipe({ //als er een swypebeweging is (werkt niet als ik een div van de slidehsow kies in de selector, werkt alleen met document
wipeRight: function() {
Shadowbox.previous();
},
wipeLeft: function() {
Shadowbox.next();
}
});
};
als ik de voorwaarde pas na het event zet kan ik in de onderliggende pagina niet goed meer navigeren dus deze moet voor het event
ik had dus een dergelijk event gedefineerd:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(Shadowbox.isOpen === true){
$(document).trigger('slideopen')
aan = 1
});
$(document).on('slideopen', function(){
$(document).touchwipe({
wipeRight: function(){
Shadowbox.previous();
},
wipeLeft: function(){
Shadowbox.next();
}
});
});
$(document).trigger('slideopen')
aan = 1
});
$(document).on('slideopen', function(){
$(document).touchwipe({
wipeRight: function(){
Shadowbox.previous();
},
wipeLeft: function(){
Shadowbox.next();
}
});
});
aleen verandert de waarde bij het laden van de slideshow niet
deels opgelost door dit
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function triggerslide(){
if(Shadowbox.isOpen() === true){
$(document).trigger('slideopen')
}
return Shadowbox.isOpen();
}
$(document).on('slideopen', function(){
$(document).touchwipe({
wipeRight: function(){
Shadowbox.previous();
},
wipeLeft: function(){
Shadowbox.next();
}
});
});
if(Shadowbox.isOpen() === true){
$(document).trigger('slideopen')
}
return Shadowbox.isOpen();
}
$(document).on('slideopen', function(){
$(document).touchwipe({
wipeRight: function(){
Shadowbox.previous();
},
wipeLeft: function(){
Shadowbox.next();
}
});
});
alleen krijg ik de functie nog niet geactiveerd als dat nodig is...
Gewijzigd op 01/06/2013 02:16:53 door Marijn Struijlaart
Er zijn nog geen reacties op dit bericht.