Avatar billede zlag Nybegynder
23. april 2007 - 00:55 Der er 7 kommentarer og
1 løsning

åbne et tilfældigt billede i et layer - hvordan ændrer man kilden

Jeg er i gang med at lave et site, hvor der skal være mulighed for at klikke på billeder, så det man nu klikker på åbnes i et layer. http://bedste.mathhelp.dk/Galleri.html -

<script type="text/javascript">
function show_it(id){
            if (id == boks1) {
                document.all.boks1.style.visibility = "visible";
            }
            }
function hide_it(id){
            if(id == boks1) {
                document.all.boks1.style.visibility = "hidden";
            }
            }
</script>


<div id="boks1" ><img src="pic1.jpg" onClick="hide_it(boks1)" alt=""/></div>

<img src="pic1.jpg" onClick="show_it(boks1)">


mit problem ligger i, at der er rimelig mange billeder, og det vil ikke være "pæn" kode, hvis jeg definerer en masse layers og opstiller en funktion for hver layer"boks" - jeg har tænkt på, at når man klikker på et billede, "kopierer" funktionen show_it(id) det klikkede billedes kilde (src) og indsætter denne som layer"boksens"s sti :

function show_it(id){
    if (id == boks1) {
        document.all.boksimg.src = document.all.my.src;

                document.all.boks1.style.visibility = "visible";
               
            }
            }

men dette bliver noget værre hø!!! da uanset hvilket billede man klikker på, bliver der kun vist det samme

HJÆLP!!!
Avatar billede showsource Seniormester
23. april 2007 - 01:12 #1
Et lillestykke af vejen, kan du nok finde her:
http://www.eksperten.dk/spm/747135

Men hvordan laver du et layer for hvert billede? ( manuelt / script )
Avatar billede zlag Nybegynder
23. april 2007 - 01:15 #2
Jeg kunne evt. oprette <div id="boks1"> billede </div> og <div id="boks2"> billede</div>, osv. men det gøre koden meget uoverskuelig - derfor vil jeg helst ikke bruge denne metode...
Avatar billede showsource Seniormester
23. april 2007 - 01:30 #3
Prøvede lige lidt, som måske kan bruges?

<html>
<head>
<title>Javascript test</title>
<script type="text/javascript">


function display_div(im) {
    if(document.getElementById) {
    return document.getElementById('galleri').innerHTML = '<img src="images/' + im + '">';
    } else if (document.all) {
    return document.all.galleri_pre.innerHTML = '<img src="images/' + im + '">';
    } else {
    return false;
    }
}

</script>
</head>
<body>

<a href="#" onclick="display_div('lene.jpg');">Billede 1</a><br />

<a href="#" onclick="display_div('nadja.jpg');">Billede 2</a><br />

<a href="#" onclick="display_div('nathalie.jpg');">Billede 3</a>

<div id="galleri"></div>

</body>
</html>
Avatar billede showsource Seniormester
23. april 2007 - 01:34 #4
altså, alle dine billeder ligger i mappen "images", som er et underdir til den side de vises på.
For hvert billede laver du så et link.
Avatar billede showsource Seniormester
23. april 2007 - 01:36 #5
ups,,,

function display_div(im) {
    if(document.getElementById) {
    return document.getElementById('galleri').innerHTML = '<img src="images/' + im + '">';
    } else if (document.all) {
    return document.all.galleri.innerHTML = '<img src="images/' + im + '">';
    } else {
    return false;
    }
}
Avatar billede madeindk Nybegynder
23. april 2007 - 01:40 #6
Argh - det er da vidst nok en nødløsning det der må jeg nok sige! Efter min overbevisning skal det gøres sådan her.

1) Laver din JavaScript funktion der udskifter src:

<script type="text/javascript">
function switchImg(newSrc)
{
  // Tjekker om element eksisterer
  if (document.getElementById('dynamicImg'))
  {
    document.getElementById('dynamicImg').src = newSrc;
  }
  else
  {
    alert('Elementet eksisterer ikke! Kontroller din kode.')
  }
}

</script>


2) Vi opstiler nu en liste med dine billeder:

- <a href="#" onclick="switchImg('billede1.jpg');">Billede nr. 1</a>
- <a href="#" onclick="switchImg('billede2.jpg');">Billede nr. 2</a>
- <a href="#" onclick="switchImg('billede3.jpg');">Billede nr. 3</a>

3) Indsæt nu dit img-tag:

<img src="billede1.jpg" id="dynamicImg" />
Avatar billede jhe-ting Nybegynder
23. april 2007 - 05:37 #7
Se mit svar på dit ULOVLIGT identiske spørgsmål ::: http://www.eksperten.dk/spm/774694

Der må kun være et spørgsmål åbent om samme emne.
Avatar billede zlag Nybegynder
23. april 2007 - 13:40 #8
her er den version, der hjælper mig bedst - koden er en kombineret version af min og showsource's:
<html>
<head>
<title>Javascript test</title>
<script type="text/javascript">


function display_div(im) {
    if(document.getElementById) {
    document.all.galleri.style.visibility = "visible";
    return document.getElementById('galleri').innerHTML = '<img src="' + im + '">';
    } else if (document.all) {
    return document.all.galleri_pre.innerHTML = '<img src="/' + im + '">';
    } else {
    return false;
    }
}


function hide_it(id){
            if(id == galleri) {
                document.all.galleri.style.visibility = "hidden";
            }
            }

</script>
</head>
<body>

<img src="pic1.jpg" onclick="display_div('pic1.jpg');"><br />

<a href="#" onclick="display_div('pic1.jpg');">Billede 2</a><br />

<a href="#" onclick="display_div('pic1.jpg');">Billede 3</a>

<div id="galleri" onclick="hide_it(galleri);"></div>

</body>
</html>
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