alleen script uitvoeren als slideshow niet wordt getoond
ik ben bezig met een fotowebsite. op de pagina waar de foto wordt weergeven en er ook een slideshow kan worden geopend wilde ik met de pijltjestoetsen kunnen navigeren. dit kan ook in de slideshow
de slideshow die ik gebruik is shadowbox
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
if(isOpen() === false){
$(document).keydown(function(e){
if (e.keyCode == 37) {
window.open("picture.php?id=<?php echo "".$previmg."" ?>", "_self");
return false;
}
});
$(document).keydown(function(e){
if (e.keyCode == 39) {
window.open("picture.php?id=<?php echo "".$nextimg."" ?>", "_self");
return false;
}
});
}
$(document).keydown(function(e){
if (e.keyCode == 37) {
window.open("picture.php?id=<?php echo "".$previmg."" ?>", "_self");
return false;
}
});
$(document).keydown(function(e){
if (e.keyCode == 39) {
window.open("picture.php?id=<?php echo "".$nextimg."" ?>", "_self");
return false;
}
});
}
ik heb niet zoveel ervaring met jquery en javascript. het probleem zit m in de if clause. er stond op de site van shadowbox dat je met deze functie kon controleren of de slideshow actief was. ik heb ook geprobeerd om de if clause te doen met $(element).is(":hidden"), maar zonder resultaat
Gewijzigd op 30/03/2013 15:18:17 door Marijn Struijlaart
Toevoeging op 03/04/2013 15:36:57:
ik heb even wat gekloot in de console met dit script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
if(Shadowbox.isOpen() === false){
$(document).keydown(function(e){
if (e.keyCode == 37) {
window.open("picture.php?id=<?php echo "".$previmg."" ?>", "_self");
return false
}
});
$(document).keydown(function(e){
if (e.keyCode == 39) {
window.open("picture.php?id=<?php echo "".$nextimg."" ?>", "_self");
return false
}
});
}
$(document).keydown(function(e){
if (e.keyCode == 37) {
window.open("picture.php?id=<?php echo "".$previmg."" ?>", "_self");
return false
}
});
$(document).keydown(function(e){
if (e.keyCode == 39) {
window.open("picture.php?id=<?php echo "".$nextimg."" ?>", "_self");
return false
}
});
}
en in essentie wordt er gereageerd op Shadowbox.isOpen(), het probleem is echter dat het in het script zelf, niet gebeurt.
Toevoeging op 03/04/2013 15:58:37:
opgelost:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
$(document).keydown(function(e){
if (e.keyCode == 37 && Shadowbox.isOpen() === false) {
window.open("picture.php?id=<?php echo "".$previmg."" ?>", "_self");
}
});
$(document).keydown(function(e){
if (e.keyCode == 39 && Shadowbox.isOpen() === false) {
window.open("picture.php?id=<?php echo "".$nextimg."" ?>", "_self");
}
});
if (e.keyCode == 37 && Shadowbox.isOpen() === false) {
window.open("picture.php?id=<?php echo "".$previmg."" ?>", "_self");
}
});
$(document).keydown(function(e){
if (e.keyCode == 39 && Shadowbox.isOpen() === false) {
window.open("picture.php?id=<?php echo "".$nextimg."" ?>", "_self");
}
});