Avatar billede donslund Nybegynder
04. november 2005 - 08:53 Der er 4 kommentarer og
1 løsning

Hvis billede ikke finde, tages et andet hvis det findes.

Jeg bruger denne kode til at tjekke om et billede findes. Gør det ikke det, tages et andet.

<script type="text/javascript">
var testBillede = new Image();
testBillede.onerror = FindesIkke;
testBillede.onload = Findes;
testBillede.src = "media/top2.jpg";

function FindesIkke(){
  // alert("Billede findet ikke, spade!");
  document.images["toppic"].src = "setup/layout2/Top.jpg";
}
function Findes(){
  // alert("Wau, billedet var der!");
  document.images["toppic"].src = "media/top2.jpg";
}
</script>
<a href="#" target="_top"><img src="setup/1x1.gif" border="0" name="toppic" style="width:966px;height:127px"></a>


Men nu vil jeg gerne udvide sådan, at hvis top2.jpg heller ikke fidnes, så skal den tage top3.jpg
Avatar billede olebole Juniormester
04. november 2005 - 10:01 #1
<ole>

En lidt mere generisk version:

<script type="text/javascript">
var aPics = ["media/top2.jpg", "media/top3.jpg", "setup/layout2/Top.jpg", "http://www.eksperten.dk/img/elogo.png"];
var inx = 0;
function loadPic() {
    var testBillede = new Image();
    testBillede.onerror = FindesIkke;
    testBillede.onload = Findes;
    if (inx<aPics.length) testBillede.src = aPics[inx++];
    else alert("Tumpe ... der jo ikke fler'!")
}
function FindesIkke(){
  //alert("Billede findet ikke, spade!");
  loadPic();
}
function Findes(){
  //alert("Wau, billedet var der!");
  document.images["toppic"].src = this.src;
}
loadPic();
</script>
<a href="#" target="_top"><img src="setup/1x1.gif" border="0" name="toppic" style="width:966px;height:127px"></a>

/mvh
</bole>
Avatar billede donslund Nybegynder
09. november 2005 - 08:04 #2
Jeg har indsat denne kode:

<script type="text/javascript">
var aPics = ["media/top1.jpg", "media/top0.jpg", "media/top1.jpg"];
var inx = 0;
function loadPic() {
    var testBillede = new Image();
    testBillede.onerror = FindesIkke;
    testBillede.onload = Findes;
    if (inx<aPics.length) testBillede.src = aPics[inx++];
    else alert("Tumpe ... der jo ikke fler'!")
}
function FindesIkke(){
  alert("Billede findes ikke!");
  loadPic();
}
function Findes(){
  alert("Wau, billedet var der!");
  document.images["toppic"].src = this.src;
}
loadPic();
</script>

Men det lader ikke til at virke. Den tager ikke en gang det sidste billede, som jeg ellers ved eksisterer.
Avatar billede donslund Nybegynder
09. november 2005 - 08:11 #3
Alerts i Findes og FindesIkke eksekveres ikke. Grunden til at top1.jpg står 2 gange i arrayet er, at filnavnene genereres automatisk ud fra hvilken side man er på.
Avatar billede olebole Juniormester
09. november 2005 - 09:00 #4
Det er svært at hjælpe, når jeg ikke ved, hvad der skal foregå. Koden i (04/11-2005 10:01:54) funker fint  :)
Avatar billede donslund Nybegynder
09. november 2005 - 09:04 #5
Det er rigtigt. Beklager.

Det jeg gerne vil er, at på en side skal jeg vise et topbillede. Jeg har en stak billeder, der svarer til sidenummeret. Hvis ikke der findes et billede der har samme nummer som siden, skal den tjekke om der findes et billede til siden ét niveau over. Gør der heller ikke det, skal den tage et standard topbillede.

Håber du kan/vil hjælpe.
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