11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai créé un site avec Dreamweaver CS3. J'utilise un template pour générer mes pages. J'ai placé un script pour afficher l'heure sur chaque page, ainsi qu'un script pour afficher un diaporama sur la page d'accueil. Les deux scripts sont dans la zone <head> de mon template. Ils démarrent dans ma balise body sous forme
<body onload="HeureCheckEJS();runSlideShow()">
. Jusque là, rien de particulier !
Le problème est que mon diaporama ne se trouve que sur la page "index" du site et que la balise <body> est la même sur toutes les autres pages du fait de leur génération par le template. Hors, je me retrouve naturellement avec un message d'erreur à l'affichage des autres pages puisque l'objet SlideShow ne s'y trouve pas !

Comment faire pour lancer le SlideShow hors de la balise <body> et de façon à le placer dans une zone éditable du template que je puisse personnaliser sur la page "index" uniquement ? J'ai essayé de mettre uniquement la balise <body> en éditable, mais ça ne fonctionne pas... Smiley decu

Merci de vos réponses si ma question n'est pas trop confuse Smiley confused
Modérateur
Bonjour et bienvenue YesEurope, Smiley smile

Si ton script "runSlideShow" est correctement conçu, celui-ci ne devrait pas sortir d'erreur, y compris lorsque le SlideShow ne s'y trouve pas.

En gros, au sein de ta fonction runSlideShow, il faut dire que si l'objet SlideShow n'est pas là, on sort de la fonction.
a écrit :
En gros, au sein de ta fonction runSlideShow, il faut dire que si l'objet SlideShow n'est pas là, on sort de la fonction.


Cela veut dire qu'il est nécessaire d'ajouter une indication dans le script... ?!
Le problème, c'est que je n'ai pas la moindre idée de la façon de faire une telle chose. Smiley decu
J'ai utilisé un script existant...


<script>
var slideShowSpeed = 3000
var crossFadeDuration = 2
var Pic = new Array()
Pic[0] = 'images/diapo/1.jpg'
Pic[1] = 'images/diapo/2.jpg'
Pic[2] = 'images/diapo/3.jpg'
Pic[3] = 'images/diapo/4.jpg'
Pic[4] = 'images/diapo/5.jpg'
Pic[5] = 'images/diapo/6.jpg'
Pic[6] = 'images/diapo/7.jpg'
Pic[7] = 'images/diapo/8.jpg'
Pic[8] = 'images/diapo/9.jpg'
Pic[9] = 'images/diapo/10.jpg'
Pic[10] = 'images/diapo/11.jpg'
Pic[11] = 'images/diapo/12.jpg'
Pic[12] = 'images/diapo/13.jpg'
Pic[13] = 'images/diapo/14.jpg'
Pic[14] = 'images/diapo/15.jpg'
Pic[15] = 'images/diapo/16.jpg'
var t
var j = 0
var p = Pic.length
var preLoad = new Array()
for (i = 0; i < p; i++){
preLoad[i] = new Image()
preLoad[i].src = Pic[i]
}
function runSlideShow(){
if (document.all){
document.images.SlideShow.style.filter="blendTrans(duration=2)"
document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
document.images.SlideShow.filters.blendTrans.Apply() 
}
document.images.SlideShow.src = preLoad[j].src
if (document.all){
document.images.SlideShow.filters.blendTrans.Play()
}
j = j + 1
if (j > (p-1)) j=0
t = setTimeout('runSlideShow()', slideShowSpeed)
}
</script>


Au risque de passer pour un béotien ( ce que je suis Smiley cligne ) que dois-je faire concrètement ? Smiley confused [/i][/i][/i]
Modifié par YesEurope (18 Mar 2008 - 14:18)