Avatar billede Slettet bruger
25. april 2003 - 21:36 Der er 11 kommentarer og
1 løsning

Billedgalleri i framset eller tabel

Hvordan laver jeg et billegalleri i et 3 frameset (venstre, midte, højre)i højre frame er links (minibilled) til billed som skal vises i stor størrelse i midterframe, ved mouse over.
 
se nedenstående for at få indtryk af meningen, eller kan denne kode ændres så resultatet vises i en anden tabel.

----------------------

<script>
function main(image)
{
var  x = document.getElementById("mainimage");
x.src = image;
}
</script>

     
      <TABLE HEIGHT="200" BORDER="0" ALIGN="center" CELLSPACING="8" CELLPADDING="0">
        <tr>
          <td width="100%" colspan="3" align="center" valign="top">
          <img id="mainimage" src="husfoto/Huset.jpg" border="0" width="250"/></td>
        </tr>
        <tr>

          <td width="33%" align="center" valign="top">
          <img src="foto/Huset.jpg" alt="" border="0" onmouseover="main('foto/Huset.jpg')" width="68" height="51" /></td>
          <td width="33%" align="center" valign="top">
          <img src="foto/IMG_0062.JPG" alt="" border="0" onmouseover="main('foto/IMG_0062.JPG')" width="68" height="51" /></td>
          <td width="34%" align="center" valign="top">
          <img src="foto/IMG_0063.JPG" alt="" border="0" onmouseover="main('foto/IMG_0063.JPG')" width="68" height="51" /></td>
        </tr>
        <tr>
        </table>
Avatar billede Slettet bruger
26. april 2003 - 09:52 #1
Du kan ændre funktionen:

function main(img) {
parent.frames["midtFrameNavn"].document.getElementById("billedeID").src = img;
}

Så bliver billedet med id'en "billedeID" ændret i framen "midtFrameNavn".
Avatar billede Slettet bruger
26. april 2003 - 09:53 #2
I øvrigt vil jeg, lige gyldigt hvad standarderne foreskriver, bruge name i denne forbindelse, da det så virker i langt flere browsere:

function main(img) {
  if (document.images)
    parent.frames["midtFrameNavn"].document.images["billedeNavn"].src = img;
}
Avatar billede pelkjaer Nybegynder
26. april 2003 - 09:58 #3
function main(img) {
  if (document.images) {
    if (img != "none") {
      parent.frames["midtFrameNavn"].document.images["billedeNavn"].src = img;
    }
  }
}

hehe :)
Avatar billede Slettet bruger
26. april 2003 - 10:15 #4
Hvorfor ville han sætte img til "none"?
Avatar billede pelkjaer Nybegynder
26. april 2003 - 10:50 #5
Well, it's a safety precaution :)

Der burde nok stå if(img != null) {
Avatar billede Slettet bruger
26. april 2003 - 10:59 #6
Tja, når han nu selv står for at lave siden, og ingen af informationerne er afhængige af brugerens indtastning, så behøver man vel ikke den ekstra betingelse. Den tager bare processorkræfter.
Men ok, hvis man skal være 100% sikker... :)
Avatar billede Slettet bruger
27. april 2003 - 00:15 #7
Den er gal med min viden om <script>, jeg må lære det, men ikke lige nu, der skal jeg have hjælp. Da jeg efterhånden er blevet i tvivl om flere ting, bl. a. er <script> placeret i den rigtige .htm o.s.v.
100 point for et rette dette til så det virker !

Har problemer med ID= "hvad" - har prøvet forskelligt og nu er der vist rigtig gået helt GED i den.

får fejlen ved onmouseover 'midt' er ikke defineret i hoejre.htm
---------------------------------------------------

for at tage det hele med har jeg
-----------------------------------Frameset >Haven< default.htm

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<!-- Minus AutoDato -->
    <TITLE>Haven</TITLE>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
</HEAD>

<FRAMESET FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" ROWS="*,300,*">
  <FRAME SRC="top.htm" SCROLLING="no" frameborder="0">
  <FRAMESET FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" COLS="*,500,*">
    <FRAME SRC="venstre.htm" SCROLLING="auto" frameborder="0">
    <FRAME SRC="midt.htm" SCROLLING="auto" frameborder="0">
    <FRAME SRC="hoejre.htm" SCROLLING="auto" frameborder="0">
  </frameset>
  <FRAME SRC="bund.htm" SCROLLING="no" frameborder="0">
</frameset>

<BODY>


</BODY>
</HTML>
---------------------->!--Venstre.htm    MENU_LINKS    --endnu ikke lavet-->

---------------------->!--midt.htm--<


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<!-- Minus AutoDato -->
    <TITLE>midt.htm</TITLE>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
</HEAD>

<TABLE HEIGHT="200" BORDER="0" ALIGN="center" CELLSPACING="8" CELLPADDING="0">
        <tr>
          <td width="100%" colspan="3" align="center" valign="top">
          <IMG SRC="foto/Huset.jpg" BORDER="0" WIDTH="250" HEIGHT="100%" ALIGN="bottom" ALT="" ID="IMG"/></td>
        </tr>
<BODY>



</BODY>
</HTML>

----------------->!-- hoejre.htm --<

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<!-- Minus AutoDato -->
    <TITLE>hoejre.htm</TITLE>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<script>
function main(img) {
  if (document.images)
<!--det er her den er gal,tror jeg nok, og så ige ved onmouseover-->
    parent.frames["midt.htm"].document.images[ID="IMG"].src = img;
}

</script>


     
<TABLE HEIGHT="200" BORDER="0" ALIGN="center" CELLSPACING="8" CELLPADDING="0">
               
<tr>
          <td width="33%" align="center" valign="top">
          <IMG SRC="foto/IMG_0062.JPG" BORDER="0" WIDTH="68" HEIGHT="51" ALIGN="bottom" ALT=""  onmouseover="midt.htm('foto/IMG_0062.JPG')"alt=""border="0" /></td>
<tr>
          <td width="34%" align="center" valign="top">
          <IMG SRC="foto/IMG_0063.JPG" BORDER="0" WIDTH="68" HEIGHT="51" ALIGN="bottom" ALT="" onmouseover="midt.htm('foto/IMG_0063.JPG')" /></td>
<tr>     
          <td width="33%" align="center" valign="top">
          <IMG SRC="foto/IMG_0064.JPG" BORDER="0" WIDTH="68" HEIGHT="51" ALIGN="bottom" ALT="" onmouseover="midt.htm('foto/IMG_0064.JPG')" /></td>
<tr>
          <td width="33%" align="center" valign="top">
          <IMG SRC="foto/IMG_0065.JPG" BORDER="0" WIDTH="68" HEIGHT="51" ALIGN="bottom" ALT="" onmouseover="midt.htm('foto/IMG_0065.JPG')" /></td>
<tr>
          <td width="34%" align="center" valign="top">
          <IMG SRC="foto/IMG_0066.JPG" BORDER="0" WIDTH="68" HEIGHT="51" ALIGN="bottom" ALT="" onmouseover="midt.htm('foto/IMG_0066.JPG')" /></td>

        </table>



</BODY>
</HTML>


---------------------------
Undskyld jeg tager så meget plads !
Avatar billede Slettet bruger
27. april 2003 - 00:18 #8
Der skete en lille <fejl>, men opretter eet nyt spørgsmål med 100 point hvis jeg får et gyldigt svar.
Avatar billede Slettet bruger
27. april 2003 - 10:46 #9
Ja, det går helt galt. På "midt.html" skal billedet se således ud:

<IMG SRC="foto/Huset.jpg" BORDER="0" WIDTH="250" HEIGHT="100%" ALIGN="bottom" ALT="" ID="IMG" name="billede" />

Og "hoejre.html" skal se således ud:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<!-- Minus AutoDato -->
    <TITLE>hoejre.htm</TITLE>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<script>
function main(img) {
  if (document.images)
    parent.frames[1].document.images["billede"].src = img;
}
</script>
</head>
<body>
<TABLE HEIGHT="200" BORDER="0" ALIGN="center" CELLSPACING="8" CELLPADDING="0">
<tr>
          <td width="33%" align="center" valign="top">
          <IMG SRC="foto/IMG_0062.JPG" BORDER="0" WIDTH="68" HEIGHT="51" ALIGN="bottom" ALT="" onmouseover="main('foto/IMG_0062.JPG')" alt=""border="0" /></td>
<tr>
          <td width="34%" align="center" valign="top">
          <IMG SRC="foto/IMG_0063.JPG" BORDER="0" WIDTH="68" HEIGHT="51" ALIGN="bottom" ALT="" onmouseover="main('foto/IMG_0063.JPG')" /></td>
<tr>     
          <td width="33%" align="center" valign="top">
          <IMG SRC="foto/IMG_0064.JPG" BORDER="0" WIDTH="68" HEIGHT="51" ALIGN="bottom" ALT="" onmouseover="main('foto/IMG_0064.JPG')" /></td>
<tr>
          <td width="33%" align="center" valign="top">
          <IMG SRC="foto/IMG_0065.JPG" BORDER="0" WIDTH="68" HEIGHT="51" ALIGN="bottom" ALT="" onmouseover="main('foto/IMG_0065.JPG')" /></td>
<tr>
          <td width="34%" align="center" valign="top">
          <IMG SRC="foto/IMG_0066.JPG" BORDER="0" WIDTH="68" HEIGHT="51" ALIGN="bottom" ALT="" onmouseover="main('foto/IMG_0066.JPG')" /></td>
        </table>
</BODY>
</HTML>

Prøv at bruge den kode uden at ændre noget i den overhovedet.
Hvis det ikke virker, ville det være godt med et link.
Avatar billede Slettet bruger
27. april 2003 - 10:47 #10
Faktisk bør du ændre denne linje:

<FRAME SRC="midt.htm" SCROLLING="auto" frameborder="0">

... til:

<FRAME SRC="midt.htm" SCROLLING="auto" frameborder="0" name="midtFrame">

... og denne linje i mit script:

parent.frames[1].document.images["billede"].src = img;

... til:

parent.frames["midtFrame"].document.images["billede"].src = img;
Avatar billede Slettet bruger
27. april 2003 - 16:18 #11
Den var ikke helt god, jeg for denne fejl i hoejre.htm
linie 10
tegn 5
fejl: 'parent.frames.midtframe.document' er null eller ikke et objekt

Var det ikke en ide at se bort fra midt.htm og bare lave et almindeligt popup midt på skærmen af billedfilerne fra hoejre.htm ?
Avatar billede Slettet bruger
28. april 2003 - 14:18 #12
Du skal huske at skrive præcist som jeg har sagt. Altså:

<FRAMESET FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" ROWS="*,300,*">
  <FRAME SRC="top.htm" SCROLLING="no" frameborder="0">
  <FRAMESET FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" COLS="*,500,*">
    <FRAME SRC="venstre.htm" SCROLLING="auto" frameborder="0">
    <FRAME SRC="midt.htm" SCROLLING="auto" frameborder="0" name="midtFrame">
    <FRAME SRC="hoejre.htm" SCROLLING="auto" frameborder="0">
  </frameset>
  <FRAME SRC="bund.htm" SCROLLING="no" frameborder="0">
</frameset>

... og:

parent.frames["midtFrame"].document.images["billede"].src = img;

Hvis det ikke virker, vil jeg gerne se et link!
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