Javascript ouvrir new page et lancer fonction
verbatum0
-
boly38 Messages postés 267 Date d'inscription Statut Membre Dernière intervention -
boly38 Messages postés 267 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai réalisé un diaporama de slides et maintenant je souhaiterais pouvoir, à partir d'une autre page du site, accéder directement à un des slides.
Je dois donc ouvrir une nouvelle fenetre et lancer la fonction 'slide'.
Ca ne marche pas. Et je n'arrive pas non plus à mettre des ancrages sur chaque slide. Quelqu'un peut m'aider. merci.
Marie
voici le script utilisé pour les slides (auteur Niu) :
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<style type="text/css">
#contenir{ overflow:hidden; width:500px; height:500px; position:absolute}
.div{display:inline;width:500px;height:500px;}
</style>
<script type="text/javascript">
function slide(nombre){
nombre=(nombre*500)-500;
$('#bouge').animate({
right: ''+nombre+'px',
},300);
}
</script>
<body>
<a href="javascript:void(0)" onclick="slide('1')">div1</a> - <a href="javascript:void(0)" onclick="slide('2')">div2</a> - <a href="javascript:void(0)" onclick="slide('3')">div3</a>
<br />
<div id="contenir">
<div id="bouge" style="width:1500px;position:relative;">
<div class="div" style="position:absolute;left:0px">
Lorem ipsum dolor sit amet
<img src="http://www.insu.cnrs.fr/..." width="500" height="500"/>
</div>
<div class="div" style="position:absolute;left:500px">
Mauris interdum volutpat lobortis
<img src="http://chachatelier.fr/programmation/images/mozodojo-original-image.jpg" width="500" height="500"/>
</div>
<div class="div" style="position:absolute;left:1000px">
Praesent ac magna nec
<img src="http://helios.gsfc.nasa.gov/image_euv_press.jpg" width="500" height="500"/>
</div>
</div>
</div>
</body>
J'ai réalisé un diaporama de slides et maintenant je souhaiterais pouvoir, à partir d'une autre page du site, accéder directement à un des slides.
Je dois donc ouvrir une nouvelle fenetre et lancer la fonction 'slide'.
Ca ne marche pas. Et je n'arrive pas non plus à mettre des ancrages sur chaque slide. Quelqu'un peut m'aider. merci.
Marie
voici le script utilisé pour les slides (auteur Niu) :
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<style type="text/css">
#contenir{ overflow:hidden; width:500px; height:500px; position:absolute}
.div{display:inline;width:500px;height:500px;}
</style>
<script type="text/javascript">
function slide(nombre){
nombre=(nombre*500)-500;
$('#bouge').animate({
right: ''+nombre+'px',
},300);
}
</script>
<body>
<a href="javascript:void(0)" onclick="slide('1')">div1</a> - <a href="javascript:void(0)" onclick="slide('2')">div2</a> - <a href="javascript:void(0)" onclick="slide('3')">div3</a>
<br />
<div id="contenir">
<div id="bouge" style="width:1500px;position:relative;">
<div class="div" style="position:absolute;left:0px">
Lorem ipsum dolor sit amet
<img src="http://www.insu.cnrs.fr/..." width="500" height="500"/>
</div>
<div class="div" style="position:absolute;left:500px">
Mauris interdum volutpat lobortis
<img src="http://chachatelier.fr/programmation/images/mozodojo-original-image.jpg" width="500" height="500"/>
</div>
<div class="div" style="position:absolute;left:1000px">
Praesent ac magna nec
<img src="http://helios.gsfc.nasa.gov/image_euv_press.jpg" width="500" height="500"/>
</div>
</div>
</div>
</body>
A voir également:
- Javascript ouvrir new page et lancer fonction
- Fonction si et - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Supprimer page word - Guide
- Ouvrir fichier .dat - Guide
1 réponse
pour l'adresse de la fenêtre à ouvrir, ajoute "#(id)" à la fin; exemple :
sur la page du diaporama, ajoute une fonction javascript "initDiapo()" qui :
- récupère l'adresse courante (document.location)
- détermine si dans cette chaine un id de diapo à visualiser est présent
- si oui, le détermine pour appeller la fonction slide(nombre)
programmer l'exécution d'initDiapo() au chargement de la page mondiapo.html avec :
http://monsite/mondiapo.html#314
sur la page du diaporama, ajoute une fonction javascript "initDiapo()" qui :
- récupère l'adresse courante (document.location)
- détermine si dans cette chaine un id de diapo à visualiser est présent
- si oui, le détermine pour appeller la fonction slide(nombre)
programmer l'exécution d'initDiapo() au chargement de la page mondiapo.html avec :
window.onload = initDiapo;
Aurais-tu un site qui reprend cette démarche, je pourrais essayer de m'inspirer du script si j'arrive à le décoder.
Sinon, je vais me rabattre sur des popup.
La visite de mon site www.enjoylondres.fr te montrera l'étendue de mon savoir...(la version avec javascript est en cours).
Attention quand même car le caractère dièse a une particularité : il ne recharge pas la page courante si elle est déjà affichée (faire un rechargement navigateur pour tester)..
ou sinon utiliser un autre séparateur ! :)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <script language="JavaScript"><!-- function slide(numDiapo) { alert("afficher la diapo n°" + numDiapo); } function initDiapo() { // récupère l'adresse courante var adresseCourante = document.location.href; // trace : affiche l'adresse // document.write(adresseCourante + "<br/>"); // idDiapo par defaut var idDiapo = 0; // séparateur dans l'adresse var sep = '#'; // si on trouve un dièse if (adresseCourante.indexOf(sep) > 0) { // on découpe l'adresse sur le caractère sep var splitAdresse = adresseCourante.split(sep); // on récupère dans l'adresse la dernière partie séparée par un dièse idDiapo = splitAdresse[splitAdresse.length - 1]; } // affiche le n° de diapo à afficher slide(idDiapo) } window.onload = initDiapo; --></script> </head> <body> diaporama </body> </html>