Avatar billede adam4real Nybegynder
05. november 2007 - 22:12 Der er 6 kommentarer og
1 løsning

Fading OG random bg slideshow

Hej!
Kan se at der er mange dygtige hoveder herinde og vil rigtig gerne be om hjælp til et site jeg har lavet til en ven (se http://1til1landskab.dk, det er på forsiden, scriptet kører på). Da jeg ikke selv er en haj til JavaScript, har jeg fundet dette script (hos codelifters). Bg billedet ligger og fader ind og ud ... MEN jeg ville gerne ha at det valgte de fem billeder randomly istedet for at køre de samme billeder i rækkefølge?

Men måske er det et helt andet script, der skal til, for det virker heller ikke med fade in og ud i Mozilla?

Det gode ved det her er, at der ikke er nogen scroolbar synlig, da billedet (der er 1200x700) ikke ligger i body tagen... (er ikke helt klar over om det er derfor, der ikke er scrollbar eller det mere handler om noget css-regulering... :S )

Men alle råd vil være kærkomne!
Tak!

Her er scriptet:


<script language="JavaScript">
<!--



var speed = 5000;
var crossFadeDuration = 2;
var Pic = new Array();

Pic[0] = 'pic_1.jpg';
Pic[1] = 'pic_2.jpg';
Pic[2] = 'pic_3.jpg';
Pic[3] = 'pic_4.jpg';
Pic[4] = 'pic_5.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.body.style.filter="blendTrans(duration=crossFadeDuration)";
    document.body.filters.blendTrans.Apply();
    document.body.filters.blendTrans.Play();} 

if (document.body){
    document.body.background = Pic[j];   
    j = j + 1
    if (j > (p-1)) j=0
    t = setTimeout('runSlideShow()', speed)}   

}

//-->
</script>




<body onLoad="runSlideShow()" >
Avatar billede w13 Novice
05. november 2007 - 22:57 #1
Du kan vist rette:
    j = j + 1
    if (j > (p-1)) j=0
Til:
    j = Math.round(Pic.length*Math.random())

Så er tilfældigheden vist ordnet. Fade-funktionen er desværre en IE-only-funktion. Det kan jeg ikke hjælpe med.
Avatar billede adam4real Nybegynder
05. november 2007 - 23:15 #2
Tak. Desværre kører den ikke random fra starten. Den viser altid det samme billede som udgangspunkt og det var det min ven helst ville undgå. :)
Avatar billede w13 Novice
05. november 2007 - 23:17 #3
Bestemt ikke et problem. Der hvor der står:
  for(i=0;i<p;i++){
Ret til:
  for(i=Math.round(Pic.length*Math.random());i<p;i++){
Avatar billede w13 Novice
05. november 2007 - 23:18 #4
Hov, jeg tænker mig overhovedet ikke om. Ret ikke det, 2 sek.
Avatar billede w13 Novice
05. november 2007 - 23:18 #5
Ret:
  var j=0;
til:
  var j=Math.round(Pic.length*Math.random());
Avatar billede adam4real Nybegynder
06. november 2007 - 21:38 #6
Tusind tak for hjælpen... Tvivler på scriptet kan omskrives så det virker i Firefox osse... Men skulle der være nogen, der ved det, må I gerne gi lyd!
:)
Avatar billede w13 Novice
14. november 2007 - 21:58 #7
Takker for point! =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester