Bonjour
J'ai trouvé un script en dhtml que je voudrais adapter dans une boucle.
Faire une boucle d'images attachées à un article, rien de plus facile.
Mais ensuite comment créer des lignes de code de ce type ?
dropimages[0]="photo1.jpg"
dropimages[1]="photo2.jpg"
dropimages[2]="photo3.jpg"
...
RBV, dit le questionneur
On Fri, 2006-10-13 at 13:24 +0200, rue@ruedesboulets.com wrote:
Bonjour
J'ai trouvé un script en dhtml que je voudrais adapter dans une boucle.
Faire une boucle d'images attachées à un article, rien de plus facile.
Mais ensuite comment créer des lignes de code de ce type ?
dropimages[0]="photo1.jpg"
dropimages[1]="photo2.jpg"
dropimages[2]="photo3.jpg"
simplement un truc du genre ça :
<BOUCLE_doc(DOCUMENTS){...}>
dropimages[#COMPTEUR_BOUCLE]="#URL_DOCUMENT";
</BOUCLE_doc>
non ?
--
À+, Pif.
Selon christian lefebvre <christian.lefebvre@atosorigin.com>:
On Fri, 2006-10-13 at 13:24 +0200, rue@ruedesboulets.com wrote:
> Bonjour
> J'ai trouvé un script en dhtml que je voudrais adapter dans une boucle.
> Faire une boucle d'images attachées à un article, rien de plus facile.
> Mais ensuite comment créer des lignes de code de ce type ?
> dropimages[0]="photo1.jpg"
> dropimages[1]="photo2.jpg"
> dropimages[2]="photo3.jpg"simplement un truc du genre ça :
<BOUCLE_doc(DOCUMENTS){...}>
dropimages[#COMPTEUR_BOUCLE]="#URL_DOCUMENT";
</BOUCLE_doc>non ?
C'est tout à fait ça. Mais mon script ne marche pas car il y a des variables à
modifier.
Pourriez-vous m'aider à lire le js suivant ?
Je pense que je dois y insérer un #TOTAL_BOUCLE à plusieurs endroits par exemple
à la ligne
if (tlayer.left>0&&tlayer.left<=5)
je remplace =5 par =#TOTAL_BOUCLE.
Dure de ne pas savoir lire une langue.
Merci d'avance. BS
<script language="JavaScript1.2">
/*
Left-Right image slideshow Script-
By Dynamic Drive (www.dynamicdrive.com)
For full source code, terms of use, and 100's more scripts, visit
http://dynamicdrive.com
*/
///////configure the below four variables to change the style of the
slider///////
//set the scrollerwidth and scrollerheight to the width/height of the LARGEST
image in your slideshow!
var scrollerbgcolor='white'
var scrollerwidth='100px'
var scrollerheight='106px'
//3000 miliseconds=3 seconds
var pausebetweenimages=3000
//configure the below variable to change the images used in the slideshow. If
you wish the images to be clickable, simply wrap the images with the
appropriate <a> tag
<BOUCLE_zero(DOCUMENTS){id_article}{mode=document}{0,1}>
slideimages[0]='<a href="http://www.cnn.com"><img src="#LOGO_DOCUMENT"></a>'
</BOUCLE_zero>
<BOUCLE_doc(DOCUMENTS){id_article}{mode=document}>
slideimages[#COMPTEUR_BOUCLE]='<img src="URL_DOCUMENT">'
</BOUCLE_doc>
//extend this list
///////Do not edit pass this line///////////////////////
var ie=document.all
var dom=document.getElementById
if (slideimages.length>1)
i=2
else
i=0
function move1(whichlayer){
tlayer=eval(whichlayer)
if (tlayer.left>0&&tlayer.left<=5){
tlayer.left=0
setTimeout("move1(tlayer)",pausebetweenimages)
setTimeout("move2(document.main.document.second)",pausebetweenimages)
return
}
if (tlayer.left>=tlayer.document.width*-1){
tlayer.left-=5
setTimeout("move1(tlayer)",50)
}
else{
tlayer.left=parseInt(scrollerwidth)+5
tlayer.document.write(slideimages[i])
tlayer.document.close()
if (i==slideimages.length-1)
i=0
else
i++
}
}
function move2(whichlayer){
tlayer2=eval(whichlayer)
if (tlayer2.left>0&&tlayer2.left<=5){
tlayer2.left=0
setTimeout("move2(tlayer2)",pausebetweenimages)
setTimeout("move1(document.main.document.first)",pausebetweenimages)
return
}
if (tlayer2.left>=tlayer2.document.width*-1){
tlayer2.left-=5
setTimeout("move2(tlayer2)",50)
}
else{
tlayer2.left=parseInt(scrollerwidth)+5
tlayer2.document.write(slideimages[i])
tlayer2.document.close()
if (i==slideimages.length-1)
i=0
else
i++
}
}
function move3(whichdiv){
tdiv=eval(whichdiv)
if (parseInt(tdiv.style.left)>0&&parseInt(tdiv.style.left)<=5){
tdiv.style.left=0+"px"
setTimeout("move3(tdiv)",pausebetweenimages)
setTimeout("move4(scrollerdiv2)",pausebetweenimages)
return
}
if (parseInt(tdiv.style.left)>=tdiv.offsetWidth*-1){
tdiv.style.left=parseInt(tdiv.style.left)-5+"px"
setTimeout("move3(tdiv)",50)
}
else{
tdiv.style.left=scrollerwidth
tdiv.innerHTML=slideimages[i]
if (i==slideimages.length-1)
i=0
else
i++
}
}
function move4(whichdiv){
tdiv2=eval(whichdiv)
if (parseInt(tdiv2.style.left)>0&&parseInt(tdiv2.style.left)<=5){
tdiv2.style.left=0+"px"
setTimeout("move4(tdiv2)",pausebetweenimages)
setTimeout("move3(scrollerdiv1)",pausebetweenimages)
return
}
if (parseInt(tdiv2.style.left)>=tdiv2.offsetWidth*-1){
tdiv2.style.left=parseInt(tdiv2.style.left)-5+"px"
setTimeout("move4(scrollerdiv2)",50)
}
else{
tdiv2.style.left=scrollerwidth
tdiv2.innerHTML=slideimages[i]
if (i==slideimages.length-1)
i=0
else
i++
}
}
function startscroll(){
if (ie||dom){
scrollerdiv1=ie? first2 : document.getElementById("first2")
scrollerdiv2=ie? second2 : document.getElementById("second2")
move3(scrollerdiv1)
scrollerdiv2.style.left=scrollerwidth
}
else if (document.layers){
document.main.visibility='show'
move1(document.main.document.first)
document.main.document.second.left=parseInt(scrollerwidth)+5
document.main.document.second.visibility='show'
}
}
window.onload=startscroll
</script>
<ilayer id="main" width=&{scrollerwidth}; height=&{scrollerheight};
bgColor=&{scrollerbgcolor}; visibility=hide>
<layer id="first" left=1 top=0 width=&{scrollerwidth}; >
<script language="JavaScript1.2">
if (document.layers)
document.write(slideimages[0])
</script>
</layer>
<layer id="second" left=0 top=0 width=&{scrollerwidth}; visibility=hide>
<script language="JavaScript1.2">
if (document.layers)
document.write(slideimages[1])
</script>
</layer>
</ilayer>
<script language="JavaScript1.2">
if (ie||dom){
document.writeln('<div id="main2"
style="position:relative;width:'+scrollerwidth+';height:'+scrollerheight+';overflow:hidden;background-color:'+scrollerbgcolor+'">')
document.writeln('<div
style="position:absolute;width:'+scrollerwidth+';height:'+scrollerheight+';clip:rect(0
'+scrollerwidth+' '+scrollerheight+' 0);left:0px;top:0px">')
document.writeln('<div id="first2"
style="position:absolute;width:'+scrollerwidth+';left:1px;top:0px;">')
document.write(slideimages[0])
document.writeln('</div>')
document.writeln('<div id="second2"
style="position:absolute;width:'+scrollerwidth+';left:0px;top:0px">')
document.write(slideimages[1])
document.writeln('</div>')
document.writeln('</div>')
document.writeln('</div>')
}
</script>
Bonjour,
Comment puis-je demander à la deuxième boucle de ne pas prendre en compte la
première image déjà prise en compte dans la première boucle ?
J'ai essayé {doublons} sans succès.
D'avance, merci. RVB
<BOUCLE_zero(DOCUMENTS){id_article}{mode=document}{0,1}>
slideshowcontent[0]=["#URL_DOCUMENT"]
</BOUCLE_zero>
<BOUCLE_doc(DOCUMENTS){id_article}{mode=document}>
slideshowcontent[#COMPTEUR_BOUCLE]=["#URL_DOCUMENT"]
</BOUCLE_doc></B_zero>
rue@ruedesboulets.com wrote:
Bonjour,
Comment puis-je demander à la deuxième boucle de ne pas prendre en compte la
première image déjà prise en compte dans la première boucle ?
J'ai essayé {doublons} sans succès.
D'avance, merci. RVB<BOUCLE_zero(DOCUMENTS){id_article}{mode=document}{0,1}>
slideshowcontent[0]=["#URL_DOCUMENT"]
</BOUCLE_zero>
<BOUCLE_doc(DOCUMENTS){id_article}{mode=document}>
slideshowcontent[#COMPTEUR_BOUCLE]=["#URL_DOCUMENT"]
</BOUCLE_doc></B_zero>
Bizarre que ça ne marche pas avec les doublons... Tu as peut-être déjà des boucles similaires qui utilisent des critères {doublons}. Dans ce cas, il faut utiliser les doublons nommés pour différencier les exclusions : {doublons A} dans les premières boucles, {doublons B} pour la deuxième paire (ou plus) et ainsi de suite... Voir la doc.
Dans ton cas, tu dois pouvoir t'en sortir en rajoutant {1,n} dans ta seconde boucle, n étant le nombre total de documents ("n" est compris par spip).
Je ne savais pas qu'il fallait mettre doublons dans les deux boucles !
A présent, ça marche.
Mille mercis. RVB
Zéas a écrit :
rue@ruedesboulets.com wrote:
Bonjour,
Comment puis-je demander à la deuxième boucle de ne pas prendre en compte la
première image déjà prise en compte dans la première boucle ?
J'ai essayé {doublons} sans succès.
D'avance, merci. RVB<BOUCLE_zero(DOCUMENTS){id_article}{mode=document}{0,1}>
slideshowcontent[0]=["#URL_DOCUMENT"]
</BOUCLE_zero>
<BOUCLE_doc(DOCUMENTS){id_article}{mode=document}>
slideshowcontent[#COMPTEUR_BOUCLE]=["#URL_DOCUMENT"]
</BOUCLE_doc></B_zero>Bizarre que ça ne marche pas avec les doublons... Tu as peut-être déjà des boucles similaires qui utilisent des critères {doublons}. Dans ce cas, il faut utiliser les doublons nommés pour différencier les exclusions : {doublons A} dans les premières boucles, {doublons B} pour la deuxième paire (ou plus) et ainsi de suite... Voir la doc.
Dans ton cas, tu dois pouvoir t'en sortir en rajoutant {1,n} dans ta seconde boucle, n étant le nombre total de documents ("n" est compris par spip).