Avatar billede dj-sejler Praktikant
14. december 2004 - 09:27 Der er 11 kommentarer og
1 løsning

Bannerrotation med fejl

hej...
jeg har brugt scriptet fra følgende spørgsmål:
http://www.eksperten.dk/spm/478961

mit script ser ud som følger herunder.
men først lige problemet!
Når siden loades vises der et "billede" der ikke findes. og i selve rotationen vises billedet også, hvilket jeg ikke forstår.

Jeg ville gerne have at der var et billede såsnart siden loades og at det "tomme" billede bliver rettet.
siden kan ses her: http://galleri.dtl-design.dk

koden kommer her:
var slideshow_width='900px'; //SET IMAGE WIDTH
var slideshow_height='70px'; //SET IMAGE HEIGHT
var pause=6000; //SET PAUSE BETWEEN SLIDE (3000=3 seconds)

var fadeimages=new Array();

//for(i=0;5>i;i++)fadeimages[i]="style/head/"+(i+1)+".jpg";
fadeimages[0]="style/head/1.jpg";
fadeimages[1]="style/head/2.jpg";
fadeimages[2]="style/head/3.jpg";
fadeimages[3]="style/head/4.jpg";
fadeimages[4]="style/head/5.jpg";
fadeimages[5]="style/head/6.jpg";
fadeimages[6]="style/head/7.jpg";

var slidelength = fadeimages.length,curcanvas,curimageindex;
var preloadedimages=new Array();
  for (p=0;slidelength>p;p++){
    preloadedimages[p]=new Image();
    preloadedimages[p].src=fadeimages[p];
  }

function shuffleArray(a) {
var t=s=0;
  for(var i=0;a.length>i;i++){
  t = Math.floor(Math.random()*a.length);
  s = a[i];
  a[i] = a[t] ;
  a[t] = s;
  }
return a;
}
var ix = new Array();
for(i=1;slidelength>i;i++)ix[i]=i;
ix = shuffleArray(ix);

var OpC = new Array();
var ie = (document.all)?true:false;
var moz = (navigator.userAgent.indexOf("Gecko")>-1)
function startOpChange(elm,end,tim){
  if(!ie&&!moz)return;
  var idx = OpC.length;
    for(var i=0;idx>i;i++){
        if(OpC[i][0]==elm){
          clearInterval(OpC[i][4]);
            idx = i;
            break;
        }
        OpC[idx] = new Array();
    }
  if(idx==0)OpC[idx] = new Array();
 
    if(ie)actOp=elm.filters.alpha.opacity;
    else actOp=Math.round((elm.style.MozOpacity*100));
  if (actOp!=end){
    OpC[idx][0]=elm;
    OpC[idx][1]=actOp;
    OpC[idx][2]=end;
    OpC[idx][3]=(end>actOp)?1:-1;
    var delayTime = Math.floor((tim*1000)/Math.abs((actOp-end)));
    OpC[idx][4]=setInterval("opChange("+idx+")",delayTime);
  }
}
function opChange(idx){
  OpC[idx][1]+=OpC[idx][3];
  if (ie)OpC[idx][0].filters.alpha.opacity=OpC[idx][1];
  else OpC[idx][0].style.MozOpacity=Math.min(0.9999,OpC[idx][1]/100);
  if (OpC[idx][1]==OpC[idx][2]){
    clearInterval(OpC[idx][4]);
    return;
  }
}

function initSlide(){
  var c = document.getElementById('slidecontainer');
  with(c.style){
    position='relative';
    border='none';
    overflow='hidden';
    width=slideshow_width;
    height=slideshow_height;
  }
  if (ie||moz){
    for(i=0;2>i;i++){
      var im = document.createElement('IMG');
      c.appendChild(im);
      with(im.style){
        position='absolute';
    border='none';
        top=left='0px';
        width=slideshow_width;
        height=slideshow_height;
        filter='alpha(opacity=5)';
        MozOpacity='0.05';
      }
      im.id = 'canvas'+i;
    }
    startOpChange(im,100,pause/10000);
    setInterval('nextSlide()',pause);
  }else{
    var im = document.createElement('IMG');
    c.appendChild(im);
    with(im.style){
      position='absolute';
      border='none';
      top=left='0px';
      width=slideshow_width;
      height=slideshow_height;
    }
    im.id = "canvas"
    im.src = fadeimages[0];
  }
  curcanvas="canvas1";
  curimageindex=0;
}

function nextSlide(){
  startOpChange(document.getElementById(curcanvas),5,pause/10000);
  curcanvas = 'canvas' + ((curcanvas=='canvas0')?1:0);
  var im = document.getElementById(curcanvas);
  if(curimageindex+1==slidelength)ix = shuffleArray(ix);
  curimageindex = ++curimageindex%slidelength;
  im.src = fadeimages[ix[curimageindex]];
  startOpChange(im,100,pause/10000);
}

function rotateimage(){
  var im = document.getElementById('canvas');
  curimageindex = ++curimageindex%slidelength;
  im.src = fadeimages[index[curimageindex]];
}

    if (ie||moz)
        window.onload=initSlide;
    else
        setInterval("rotateimage()",pause);
Avatar billede olebole Juniormester
14. december 2004 - 12:49 #1
<ole>

Du har på siden et tag à la dette:
  <img src="et_billede.gif" id="canvas">

Billedet 'et_billede.gif' er det første billede i slide-showet - og altså det, der ikke eksisterer. Mon ikke du har src="" i tag'et?  :)

/mvh
</bole>
Avatar billede dj-sejler Praktikant
14. december 2004 - 14:49 #2
nej... den komme alligevel... i IE ses det som det der mærke oppe i venstre hjørne, og efter første gennemkørsel er det et rødt kryds, som når filen slet ikke eksistere
Avatar billede olebole Juniormester
14. december 2004 - 15:00 #3
Giv et link til siden
Avatar billede dj-sejler Praktikant
14. december 2004 - 15:03 #4
der er øverst på siden... men her er det igen http://galleri.dtl-design.dk
Avatar billede olebole Juniormester
14. december 2004 - 15:13 #5
Jamen, du mangler da det første billede ... det, der hedder 'canvas'
Avatar billede olebole Juniormester
14. december 2004 - 15:13 #6
Det skal ligge i dette div:
    <div id="slidecontainer"></div>
Avatar billede olebole Juniormester
14. december 2004 - 15:18 #7
Du bør i øvrigt nok vælge et bedre understøttet sprog end XHTML - læs evt:
  http://www.eksperten.dk/artikler/537
  http://www.eksperten.dk/artikler/538
Avatar billede dj-sejler Praktikant
14. december 2004 - 15:38 #8
jeg siger tak for læsestoffet,
men jeg forstod ikke det med 'canvas'... hvad skal sætte ind hvor?

  <div id="head"><div id="slidecontainer"><img src="style/head/i.jpg" id="canvas"></div></div>
Avatar billede olebole Juniormester
14. december 2004 - 15:54 #9
Ja ... og så er 'i.jpg' det første billede i dit slide-show. Det er måden scriptet er bygget på  :)
Avatar billede dj-sejler Praktikant
14. december 2004 - 16:13 #10
det skulle self ha været 1.jpg, men jeg får altså stadig fejlen i IE
og lininen ser ud som følger!
  <div id="head"><div id="slidecontainer"><img src="style/head/1.jpg" id="canvas" /></div></div>
Avatar billede olebole Juniormester
14. december 2004 - 16:31 #11
Ja, jeg kan godt se, du har fået lavet noget ged - men jeg har ikke lyst til at gå scriptet efter i enkeltheder  :)
Avatar billede dj-sejler Praktikant
17. december 2004 - 22:10 #12
jeg syntes ikke jeg rigtig har fået den hjælp jeg skulle bruge, lukker jeg det nu og opretter måske et nyt.
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