[Javascript] je n'arrive pas à utiliser ce script comme je veux

je n'arrive pas à utiliser ce script comme je veux [Javascript] - Programmation

Marsh Posté le 15-11-2001 à 16:19:47    

Voilà, un copy paste de la source, c un script de défilement de texte en boucle connu "amélioré" pour y mettre des images linkables.
 
Je voudrais créer une interface de lecture avec avance rapide, pause et lecture (eventuellement lecture arrière et retour rapide) mais je vois pas du tout komment m'y prendre.
 
Actuellement un onmouseover sur le slide le mets en pause, c bien mais si je veux situer l'évènement sur un bouton extérieur komment je fais?
G juste besoin de savoir ca après je sais faire l'avance rapide et la pause.
Reste le retour en arrière, il faudrait, mais est ce simplement possible?
 
Un dernier point, il ya un blanc entre la fin et le retour du calques, on peut pas faire une bidouilles pour le virer(genre un calques qui apparait à la fin du 1er et qui remplirait l'espce vide, et aussi qui serait dépendant du 1er(si le premier s'arrête, il s'arrête).
 
C un peu kompliké pour mwa là :sweat:  

Citation :

<script language="JavaScript1.2">
<!--
 
/*
Conveyor belt slideshow script-  
© Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more DHTML scripts, and Terms Of Use, visit dynamicdrive.com
*/
 
 
//Specify the slider's width (in pixels)
var sliderwidth=330
//Specify the slider's height (in pixels, pertains only to NS)
var sliderheight=145
//Specify the slider's scroll speed (larger is faster)
var slidespeed=4
 
//Specify the slider's images
var leftrightslide=new Array()
var finalslide=''
leftrightslide[0]='<a href="http://"><img src="dynamicbook1.gif" border=1></a>'
leftrightslide[1]='<a href="http://"><img src="dynamicbook2.gif" border=1></a>'
leftrightslide[2]='<a href="http://"><img src="dynamicbook3.gif" border=1></a>'
leftrightslide[3]='<a href="http://"><img src="dynamicbook4.gif" border=1></a>'
leftrightslide[4]='<a href="http://"><img src="dynamicbook5.gif" border=1></a>'
 
///////do NOT edit pass this line////////////////////////////////////
 
var copyspeed=slidespeed
//copy contents of leftrightslide into one variable
for (i=0;i<leftrightslide.length;i++)
finalslide=finalslide+leftrightslide[i]+"  "
 
 
if (document.all){
//dynamically write out the marquee tag
document.write('<marquee id="ieslider" scrollAmount=0 style="width:'+sliderwidth+'">'+finalslide+'</marquee>';)
//stop marquee when mouse is over it
ieslider.onmouseover=new Function("ieslider.scrollAmount=0" )
//re-enable marquee when mouse is out
ieslider.onmouseout=new Function("if (document.readyState=='complete';) ieslider.scrollAmount=slidespeed" )
}
 
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers){
document.ns_slider01.visibility="show"
setTimeout("window.onresize=regenerate",450)
intializeleftrightslide()
}
if (document.all)
ieslider.scrollAmount=slidespeed
}
 
//NS specific function for initializing slider upon page load
function intializeleftrightslide(){
document.ns_slider01.document.ns_slider02.document
.write('<nobr>'+finalslide+'</no
br>';)
document. ns_slider01.document.ns_slider02.document.close()

 

thelength=document.ns_slider01.document.ns_slider0
2.document.width
scrollslide()
}
 
//NS specific function for sliding slideshow
function scrollslide(){
if (document.ns_slider01.document.ns_slider02.left>=t
helength*(-1)){
document.ns_slider01.document.ns_slider02.left-=sl
idespeed
setTimeout("scrollslide()",100)
}
else{
document.ns_slider01.document.ns_slider02.left=sliderwidt
h
scrollslide()
}
}
window.onload=regenerate2
 
//-->
</script>
 
 
<ilayer width=&{sliderwidth}; height=&{sliderheight}; name="ns_slider01" visibility=hide>
<layer name="ns_slider02" onMouseover="slidespeed=0;" onMouseout="slidespeed=copyspeed"></layer>
</ilayer>
 
<p align="center"><font face="Arial" size="-2">Free DHTML scripts provided by<br>
<a href="http://dynamicdrive.com">Dynamic Drive</a></font></p>


---------------
90-60-90 -Guish c un homme humain, un vrai-
Reply

Marsh Posté le 15-11-2001 à 16:19:47   

Reply

Marsh Posté le 15-11-2001 à 16:21:29    

sinon si vous connaissez un autres scipt qui correspond mieux à ce que je cherche je veux bien :D  
mais pa d'applet java :non:  
 
ca fé 2 jours que je cherche sans succès :sweat:


---------------
90-60-90 -Guish c un homme humain, un vrai-
Reply

Marsh Posté le 15-11-2001 à 17:13:35    

:bounce:


---------------
Je suis un bordel :o
Reply

Marsh Posté le 15-11-2001 à 17:21:35    

onmouseover met le slide en pause ... en mettant ieslider.scrollAmount à 0.
 
pour situer l'événement sur un élément extérieur, tu fais la même chose, par ex:
 
<span onmouseover="ieslider.scrollAmount=0;">pause</span>
 
tu dois pouvoir tout faire en changeant scrollAmount.
 
pour le blanc entre la fin et le retour, il suffit de mettre après le dernier élément une copie du premier.

Reply

Marsh Posté le 15-11-2001 à 19:24:01    

youdontcare a écrit a écrit :

onmouseover met le slide en pause ... en mettant ieslider.scrollAmount à 0.
 
pour situer l'événement sur un élément extérieur, tu fais la même chose, par ex:
 
<span onmouseover="ieslider.scrollAmount=0;">pause</span>
 
tu dois pouvoir tout faire en changeant scrollAmount.
 
pour le blanc entre la fin et le retour, il suffit de mettre après le dernier élément une copie du premier.  



Mille fois merci c t vraiment too con suis dsl :cry:  
 
Par contre le blanc correspond au retour du layer au début de son déplacement so je vois pas comment on peut comblé ce "trou" a part avec un autre calque qui suivrait le premier.
En mettant la même images à la fin, ca fini sur elle puis repart à droite mais il reste tjs le "trou" :pt1cable:  
Le layer finit son mouvement avant de revenir au début, je vois pas comment créer "une illusion" comme tu le décris :sweat:  
 
M'enfin, c moins grave, avec un avance rapide ca fé déjà plus propre :D  
 
dsl pour ma question sur les boutons c t un peu carrément ridicule maintenant que j'ai la réponse sous les yeux :sweat:  
j'apprends trop dans le désordre :pt1cable:  
 
Par contre pour le trou je suis pas très sur de ton truk? cf + haut.
Tu as bo rajouté dai images au layer, il fo qu'il finisse son déplacement avant d'entamer le nouvo, je vois pas comment utiliser ton astuce.


---------------
Je suis un bordel :o
Reply

Marsh Posté le 15-11-2001 à 19:30:38    

pour "l'illusion" :
 
tu as quatre images, tu vas les mettre dans cet ordre :
 
1
2
3
4
1
 
de 1 à 2, tu scrolles normalement, pareil pour 2 à 3, 3 à 4. de 4 à 1, tu scrolles 'normalement' sauf qu'au moment au tu atteins la copie, tu mets le scrollIndex à 0. ça va retomber au tout début de la liste, et tu recommences ...
 
je n'ai testé la chose que pour du texte, mais c'est la même chose pour les images si elles ont toutes la même taille. pour le texte, je dois avoir le code qui traîne qq part si tu veux (ie only je crois).

Reply

Marsh Posté le 15-11-2001 à 19:31:31    

sinon tu peux aussi passer par deux layers. perso je trouve ça un peu lourd ...

Reply

Marsh Posté le 15-11-2001 à 19:34:04    

youdontcare a écrit a écrit :

sinon tu peux aussi passer par deux layers. perso je trouve ça un peu lourd ...  



trop d'la bombe la teknik que tu donnes dsl d'avooir douté :jap:  
 
C kler kavec 1 layers ca rame sur une ptite becane, avec 2 [:vomi]
 
j't'M twa :hello:  
a++ :hap:
 
ps:j'veux bien le code pour le texte si tu le retrouve sinan te galère pa ;)

 

[edtdd]--Message édité par guytarr--[/edtdd]


---------------
Je suis un bordel :o
Reply

Marsh Posté le 15-11-2001 à 20:06:35    

tiens, ramené au strict minimum : // edit, un petit peu cleané
 
<html>
<head>
 <style>
 body, blockquote, p, td, th, body, input  
 {
  font-family: "Trebuchet MS", Verdana, Arial;
  font-size: 12px;
 }
 </style>
 
 <script language="Javascript">
 
 var idx    = 0;
 var idx2   = 0;
 
 var newsDelay  = 1000;
 var headlineSize = 18;
 var numHeadlines = 4;
 
 function scrollNews()
 {
  if (idx >= numHeadlines*headlineSize) idx = 0;
  else
  {
   idx++;
   idx2++;
  }
 
  debug.innerHTML = idx + ' ' + idx2;
 
  news.style.top = -idx;
 
  if (idx2 >= headlineSize)
  {
   idx2 = 0;
   setTimeout("scrollNews()", newsDelay);
  }
  else
   setTimeout("scrollNews()", 10);
 }
 </script>
</head>
 
<body onLoad="setTimeout('scrollNews()', newsDelay);">
 
 <div style='border: solid 1px; height: 20px; overflow: hidden;'>
  <div id='news' style='position: absolute;'>
   Headline 1<br>
   Headline 2<br>
   Headline 3<br>
   Headline 4<br>
   Headline 1<br>
  </div>
 </div>
 
 <div id='debug'></div>
 
</html>

 

[edtdd]--Message édité par youdontcare--[/edtdd]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed