Avatar billede w13 Novice
11. august 2006 - 20:00 Der er 39 kommentarer og
2 løsninger

Finde sti til næste billed i en mappe

Hej Eksperter..

Jeg er netop ved at programmere et mindre billedgalleri, og jeg står nu og behøver en kode.

Når man klikker på et billed, vises det i et popup-vindue. Jeg ville nu gerne gøre det muligt for brugeren at navigere til næste/forrige billed i dette nye popup-vindue. Altså skal koden (vha. billedets sti) kunne finde det næste/forrige billed i mappen

Håber I kan hjælpe.
W13
Avatar billede thesurfer Nybegynder
11. august 2006 - 20:37 #1
Hmm.. Det kan man ikke umiddelbart..

Men du kan smide samtlige billeder (eller næste billede) med i ASP filen.

Hvordan popper du vinduet frem, og hvordan ser koden i pop-vinduet ud? Alle sprog.
Avatar billede w13 Novice
11. august 2006 - 21:38 #2
Popup:
---------------------------------------------------
<script type="text/javascript">
<!-- Start

function popup(url,name,win_height,win_width) {
    pos_horizon = ((screen.width/2)-(win_width/2));
    pos_vertical = ((screen.height/2)-(win_height/2));
    window.open(url,name,"width="+win_width+",height="+win_height+",top="+pos_vertical+",left="+pos_horizon+",scrollbars=yes");
    }

// Slut -->
</script>

<a href="java script:void(0);" onclick="popup('galleryshow.asp?ShowPic=<%=ShowPath%>','Vis','<%=iHeight%>','<%=iWidth%>');">
---------------------------------------------------
Og popup'ens kode er lidt stor. Grundlæggende viser den bare billedet, hvis sti overføres i querystringen.

På en eller anden måde, må det jo være muligt. Mange andre gallerier gør det da, så vidt jeg ved.
Avatar billede thesurfer Nybegynder
11. august 2006 - 21:50 #3
Hvor skulle denne "næste"-link/knap være? I hovedvinduet eller i pop-vinduet?
Avatar billede w13 Novice
12. august 2006 - 09:28 #4
I popup'en. Det fungerer sådan, at hovedvinduet viser alle billeder som thumbnails. Altså som et galleri. Når man så klikker på et af billederne, åbnes det i et popup-vindue, hvor jeg gerne ville gøre det muligt at navigere frem og tilbage.
Avatar billede thesurfer Nybegynder
12. august 2006 - 17:11 #5
Eksempel:

<%
option explicit
dim fso, folder, file
dim arrFiler
dim i
dim fejl
fejl = ""

function rw(txt)
' rw er en forkortelse for Reponse.Write
response.write txt
end function
%>
<html>
<head>
<title>Galleri</title>
<style type="text/css">
/* brug din eget CSS */
body
{
    background-color:#000000;
    color:#cccccc;
    font-family:tahoma;
    font-size:12px;
}
</style>
<script type="text/JavaScript" language="JavaScript">
function initialiser()
{
    loader_besked = "Loader billede...";
    nr = 0;
    billeder = new Array();
<%
if request.querystring("ShowPic") <> "" then

    ' ------------- KONTROLFIL ---------------
    ' Hvis den definerede fil IKKE findes i mappen, vises der ingen billeder!
    ' Filen skal bare eksistere, så det er lige meget om den indeholder noget.
   
    dim kontrolfil:
    kontrolfil = "galleryfolder.asp" ' ret filnavnet her
    ' ------------- KONTROLFIL ---------------

    dim showpic: showpic = request.querystring("ShowPic")

    Set fso = CreateObject("Scripting.FileSystemObject")

    if fso.FileExists(server.mappath(showpic & "\" & kontrolfil)) = false then

        fejl = "Der er ingen billeder i den angivne mappe."

    else

        set folder = fso.GetFolder(server.mappath(showpic))

        for each file in folder.files
            if file.name <> kontrolfil then
                'rw file.name & "<br>"
                arrFiler = arrFiler & file.name & "*"
            end if
        next

        set folder = nothing
        set fso = nothing

        arrFiler = left(arrFiler, len(arrFiler) - 1)
        arrFiler = split(arrFiler, "*")

        for i = lbound(arrFiler) to ubound(arrFiler)
            rw "billeder[billeder.length] = '" & arrFiler(i) & "';"
            if i <> ubound(arrFiler) then rw vbCrLf
        next
    %>

    if (document.all)
    {
        img_billede = document.all['billede'];
        div_loader = document.all['loader'];
        div_navigation = document.all['navigation'];
    } else {
        img_billede = document.getElementById('billede');
        div_loader = document.getElementById('loader');
        div_navigation = document.getElementById('navigation');
    }

    if (billeder.length > 0)
    {
        div_loader.innerHTML = loader_besked;
        div_navigation.style.display = "";
    }

    vis_billede(); // viser billedet (som er det første, da nr er lig 0)
}

function vis_billede()
{
    img_billede.src = '<%=showpic%>\\' + billeder[nr];
}

function skjul_load_besked_og_vis_billede()
{
    div_loader.style.display = "none";
    img_billede.style.display = "";
}


function vis_load_besked_og_loadet_billedet()
{
    div_loader.style.display = "";
    img_billede.style.display = "none";
    setTimeout("vis_billede();",1); // forsinkelse på 1 ms, for at loading-beskeden kan nå at komme frem
}

function prevnext(pm)
{
    // pm = PlusMinus (frem / tilbage)
    // 1 = true = p = plus = frem
    // 0 = false = m = minus = tilbage

    if (pm)
    {
        nr++;
        if (nr >= billeder.length) nr = 0;
    } else {
        nr--;
        if (nr < 0) nr = billeder.length - 1;
    }
    vis_load_besked_og_loadet_billedet();
}
<%
    end if
%>
</script>
</head>
<body onload="initialiser()"><% if fejl <> "" then rw fejl %>
<noscript>
Dette galleri bruger <b>JavaScript</b>, hvilket er sl&aring;et fra i din browser.<br>
For at kunne benytte galleriet skal du sl&aring; JavaScript til.
</noscript>

<div id="navigation" style="display:none">
<a href="#" onclick="prevnext(0);return false">Vis forrige billede</a>
&nbsp;
<a href="#" onclick="prevnext(1);return false">Vis næste billede</a>
<br><br>
</div>

<div id="beholder" style="position:absolute;">
    <div id="loader" style="position:absolute;width:100px">&nbsp;</div>
    <img src="" id="billede" onload="skjul_load_besked_og_vis_billede();" style="position:absolute;display:none">
</div>

</body>
</html>
<% end if %>
Avatar billede thesurfer Nybegynder
12. august 2006 - 17:11 #6
PS: Det var koden til filen galleryshow.asp.
Avatar billede thesurfer Nybegynder
12. august 2006 - 17:19 #7
Jeg har tilføjet lidt til koden:

Hvis du angiver et filnavn i parameteren "startpic", og billedet findes i mappen, loades den til at start med:

onclick="popup('galleryshow.asp?ShowPic=<%=ShowPath%>&startpic=test.gif','Vis','<%=iHeight%>','<%=iWidth%>');">

Koden ("galleryshow.asp"):

<%
option explicit
dim fso, folder, file
dim arrFiler
dim i
dim fejl, startbillede, showpic, nr
fejl = ""

function rw(txt)
' rw er en forkortelse for Reponse.Write
response.write txt
end function
%>
<html>
<head>
<title>Galleri</title>
<style type="text/css">
/* brug din eget CSS */
body
{
    background-color:#000000;
    color:#cccccc;
    font-family:tahoma;
    font-size:12px;
}
</style>
<script type="text/JavaScript" language="JavaScript">
function initialiser()
{
    loader_besked = "Loader billede...";
    billeder = new Array();
<%
if request.querystring("ShowPic") <> "" then

    ' ------------- KONTROLFIL ---------------
    ' Hvis den definerede fil IKKE findes i mappen, vises der ingen billeder!
    ' Filen skal bare eksistere, så det er lige meget om den indeholder noget.
   
    dim kontrolfil:
    kontrolfil = "galleryfolder.asp" ' ret filnavnet her
    ' ------------- KONTROLFIL ---------------

    showpic = request.querystring("ShowPic")

    Set fso = CreateObject("Scripting.FileSystemObject")

    if fso.FileExists(server.mappath(showpic & "\" & kontrolfil)) = false then

        fejl = "Der er ingen billeder i den angivne mappe."

    else

        startbillede = request.querystring("startpic")

        set folder = fso.GetFolder(server.mappath(showpic))

        for each file in folder.files
            if file.name <> kontrolfil then
                'rw file.name & "<br>"
                arrFiler = arrFiler & file.name & "*"
            end if
        next

        set folder = nothing
        set fso = nothing

        arrFiler = left(arrFiler, len(arrFiler) - 1)
        arrFiler = split(arrFiler, "*")

        nr = 0
        for i = lbound(arrFiler) to ubound(arrFiler)
            rw "    billeder[billeder.length] = '" & arrFiler(i) & "';"
            if i <> ubound(arrFiler) then rw vbCrLf
            if startbillede <> "" then if startbillede = arrFiler(i) then nr = i
        next

        if nr = -1 then nr = 0
    %>
    nr = <%=nr%>;

    if (document.all)
    {
        img_billede = document.all['billede'];
        div_loader = document.all['loader'];
        div_navigation = document.all['navigation'];
    } else {
        img_billede = document.getElementById('billede');
        div_loader = document.getElementById('loader');
        div_navigation = document.getElementById('navigation');
    }

    if (billeder.length > 0)
    {
        div_loader.innerHTML = loader_besked;
        div_navigation.style.display = "";
    }

    vis_billede(); // viser billedet (som er det første, da nr er lig 0)
}

function vis_billede()
{
    img_billede.src = '<%=showpic%>\\' + billeder[nr];
}

function skjul_load_besked_og_vis_billede()
{
    div_loader.style.display = "none";
    img_billede.style.display = "";
}


function vis_load_besked_og_loadet_billedet()
{
    div_loader.style.display = "";
    img_billede.style.display = "none";
    setTimeout("vis_billede();",1); // forsinkelse på 1 ms, for at loading-beskeden kan nå at komme frem
}

function prevnext(pm)
{
    // pm = PlusMinus (frem / tilbage)
    // 1 = true = p = plus = frem
    // 0 = false = m = minus = tilbage

    if (pm)
    {
        nr++;
        if (nr >= billeder.length) nr = 0;
    } else {
        nr--;
        if (nr < 0) nr = billeder.length - 1;
    }
    vis_load_besked_og_loadet_billedet();
}
<%
    end if
%>
</script>
</head>
<body onload="initialiser()"><% if fejl <> "" then rw fejl %>
<noscript>
Dette galleri bruger <b>JavaScript</b>, hvilket er sl&aring;et fra i din browser.<br>
For at kunne benytte galleriet skal du sl&aring; JavaScript til.
</noscript>

<div id="navigation" style="display:none">
<a href="#" onclick="prevnext(0);return false">Vis forrige billede</a>
&nbsp;
<a href="#" onclick="prevnext(1);return false">Vis næste billede</a>
<br><br>
</div>

<div id="beholder" style="position:absolute;">
    <div id="loader" style="position:absolute;width:100px">&nbsp;</div>
    <img src="" id="billede" onload="skjul_load_besked_og_vis_billede();" style="position:absolute;display:none">
</div>

</body>
</html>
<% end if %>
Avatar billede thesurfer Nybegynder
12. august 2006 - 17:24 #8
Det kan godt være at du undrer dig over denne del:

    ' ------------- KONTROLFIL ---------------
    ' Hvis den definerede fil IKKE findes i mappen, vises der ingen billeder!
    ' Filen skal bare eksistere, så det er lige meget om den indeholder noget.
   
    dim kontrolfil:
    kontrolfil = "galleryfolder.asp" ' ret filnavnet her
    ' ------------- KONTROLFIL ---------------

Med denne kontrol, kan du nemt fravælge mapper som du ikke ønsker skal vises i galleriet.
Det eneste du skal gøre (for at billederne ikke vises), er at fjerne/slette/omdøbe filen "galleryfolder.asp".
For at billederne vises i galleriet, skal denne fil eksisterer, og det er lige meget om den indeholder noget eller ej.

Hvis du ikke ønsker denne kontrol, fjern ovenstående linier, og fjern disse 3 linier:

    if fso.FileExists(server.mappath(showpic & "\" & kontrolfil)) = false then

        fejl = "Der er ingen billeder i den angivne mappe."

    else

plus den tilhørende "end if"-linie.
Avatar billede thesurfer Nybegynder
12. august 2006 - 17:25 #9
Doh!
Der stod (i ASP koden) nr = 0, og jeg checkede med nr = -1.

Det er nu rettet i denne kode:

<%
option explicit
dim fso, folder, file
dim arrFiler
dim i
dim fejl, startbillede, showpic, nr
fejl = ""

function rw(txt)
' rw er en forkortelse for Reponse.Write
response.write txt
end function
%>
<html>
<head>
<title>Galleri</title>
<style type="text/css">
/* brug din eget CSS */
body
{
    background-color:#000000;
    color:#cccccc;
    font-family:tahoma;
    font-size:12px;
}
</style>
<script type="text/JavaScript" language="JavaScript">
function initialiser()
{
    loader_besked = "Loader billede...";
    billeder = new Array();
<%
if request.querystring("ShowPic") <> "" then

    ' ------------- KONTROLFIL ---------------
    ' Hvis den definerede fil IKKE findes i mappen, vises der ingen billeder!
    ' Filen skal bare eksistere, så det er lige meget om den indeholder noget.
   
    dim kontrolfil:
    kontrolfil = "galleryfolder.asp" ' ret filnavnet her
    ' ------------- KONTROLFIL ---------------

    showpic = request.querystring("ShowPic")

    Set fso = CreateObject("Scripting.FileSystemObject")

    if fso.FileExists(server.mappath(showpic & "\" & kontrolfil)) = false then

        fejl = "Der er ingen billeder i den angivne mappe."

    else

        startbillede = request.querystring("startpic")

        set folder = fso.GetFolder(server.mappath(showpic))

        for each file in folder.files
            if file.name <> kontrolfil then
                'rw file.name & "<br>"
                arrFiler = arrFiler & file.name & "*"
            end if
        next

        set folder = nothing
        set fso = nothing

        arrFiler = left(arrFiler, len(arrFiler) - 1)
        arrFiler = split(arrFiler, "*")

        nr = -1
        for i = lbound(arrFiler) to ubound(arrFiler)
            rw "    billeder[billeder.length] = '" & arrFiler(i) & "';"
            if i <> ubound(arrFiler) then rw vbCrLf
            if startbillede <> "" then if startbillede = arrFiler(i) then nr = i
        next

        if nr = -1 then nr = 0
    %>
    nr = <%=nr%>;

    if (document.all)
    {
        img_billede = document.all['billede'];
        div_loader = document.all['loader'];
        div_navigation = document.all['navigation'];
    } else {
        img_billede = document.getElementById('billede');
        div_loader = document.getElementById('loader');
        div_navigation = document.getElementById('navigation');
    }

    if (billeder.length > 0)
    {
        div_loader.innerHTML = loader_besked;
        div_navigation.style.display = "";
    }

    vis_billede(); // viser billedet (som er det første, da nr er lig 0)
}

function vis_billede()
{
    img_billede.src = '<%=showpic%>\\' + billeder[nr];
}

function skjul_load_besked_og_vis_billede()
{
    div_loader.style.display = "none";
    img_billede.style.display = "";
}


function vis_load_besked_og_loadet_billedet()
{
    div_loader.style.display = "";
    img_billede.style.display = "none";
    setTimeout("vis_billede();",1); // forsinkelse på 1 ms, for at loading-beskeden kan nå at komme frem
}

function prevnext(pm)
{
    // pm = PlusMinus (frem / tilbage)
    // 1 = true = p = plus = frem
    // 0 = false = m = minus = tilbage

    if (pm)
    {
        nr++;
        if (nr >= billeder.length) nr = 0;
    } else {
        nr--;
        if (nr < 0) nr = billeder.length - 1;
    }
    vis_load_besked_og_loadet_billedet();
}
<%
    end if
%>
</script>
</head>
<body onload="initialiser()"><% if fejl <> "" then rw fejl %>
<noscript>
Dette galleri bruger <b>JavaScript</b>, hvilket er sl&aring;et fra i din browser.<br>
For at kunne benytte galleriet skal du sl&aring; JavaScript til.
</noscript>

<div id="navigation" style="display:none">
<a href="#" onclick="prevnext(0);return false">Vis forrige billede</a>
&nbsp;
<a href="#" onclick="prevnext(1);return false">Vis næste billede</a>
<br><br>
</div>

<div id="beholder" style="position:absolute;">
    <div id="loader" style="position:absolute;width:100px">&nbsp;</div>
    <img src="" id="billede" onload="skjul_load_besked_og_vis_billede();" style="position:absolute;display:none">
</div>

</body>
</html>
<% end if %>
Avatar billede thesurfer Nybegynder
12. august 2006 - 17:30 #10
Jeg kan blive ved med at skrive indlæg :-)

Test:
Galleriet er testet med Opera v9.01, Mozilla FireFox v1.5.0.4 + v1.5.0.6 og Internet Explorer v6 SP2, på en Windows XP Professional (med SP2) installation.

Resultet: Galleriet virker i samtlige browsere.
Avatar billede thesurfer Nybegynder
12. august 2006 - 17:49 #11
Galleriet er nu også testet med Netscape v8.1 og virker korrekt.
Avatar billede w13 Novice
12. august 2006 - 23:08 #12
Ok. =D Tusind tak. Jeg må lige se på det i morgen - tror jeg er lidt for træt til at tænke i ASP lige nu. =)
Avatar billede thesurfer Nybegynder
13. august 2006 - 18:25 #13
Jeg opdagede en fejl som opstod, hvis det ikke var billeder i mappen..
Der kom til at mangle et "}", hvis scriptet ikke bliver kørt igennem.

Her er det opdaterde version:

<%
option explicit
dim fso, folder, file
dim arrFiler
dim i
dim fejl, startbillede, showpic, nr
fejl = ""

function rw(txt)
' rw er en forkortelse for Reponse.Write
response.write txt
end function
%>
<html>
<head>
<title>Galleri</title>
<style type="text/css">
/* brug din eget CSS */
body
{
    background-color:#000000;
    color:#cccccc;
    font-family:tahoma;
    font-size:12px;
}
</style>
<script type="text/JavaScript" language="JavaScript">
function initialiser()
{
    loader_besked = "Loader billede...";
    billeder = new Array();
<%
if request.querystring("ShowPic") <> "" then

    ' ------------- KONTROLFIL ---------------
    ' Hvis den definerede fil IKKE findes i mappen, vises der ingen billeder!
    ' Filen skal bare eksistere, så det er lige meget om den indeholder noget.
   
    dim kontrolfil:
    kontrolfil = "galleryfolder.asp" ' ret filnavnet her
    ' ------------- KONTROLFIL ---------------

    showpic = request.querystring("ShowPic")

    Set fso = CreateObject("Scripting.FileSystemObject")

    if fso.FileExists(server.mappath(showpic & "\" & kontrolfil)) = false then

        fejl = "Der er ingen billeder i den angivne mappe."
        response.write "}" ' afslut funktionen

    else

        startbillede = request.querystring("startpic")

        set folder = fso.GetFolder(server.mappath(showpic))

        for each file in folder.files
            if file.name <> kontrolfil then
                'rw file.name & "<br>"
                arrFiler = arrFiler & file.name & "*"
            end if
        next

        set folder = nothing
        set fso = nothing

        arrFiler = left(arrFiler, len(arrFiler) - 1)
        arrFiler = split(arrFiler, "*")

        nr = -1
        for i = lbound(arrFiler) to ubound(arrFiler)
            rw "    billeder[billeder.length] = '" & arrFiler(i) & "';"
            if i <> ubound(arrFiler) then rw vbCrLf
            if startbillede <> "" then if startbillede = arrFiler(i) then nr = i
        next

        if nr = -1 then nr = 0
    %>
    nr = <%=nr%>;

    if (document.all)
    {
        img_billede = document.all['billede'];
        div_loader = document.all['loader'];
        div_navigation = document.all['navigation'];
    } else {
        img_billede = document.getElementById('billede');
        div_loader = document.getElementById('loader');
        div_navigation = document.getElementById('navigation');
    }

    if (billeder.length > 0)
    {
        div_loader.innerHTML = loader_besked;
        div_navigation.style.display = "";
    }

    vis_billede(); // viser billedet (som er det første, da nr er lig 0)
}

function vis_billede()
{
    img_billede.src = '<%=showpic%>\\' + billeder[nr];
}

function skjul_load_besked_og_vis_billede()
{
    div_loader.style.display = "none";
    img_billede.style.display = "";
}


function vis_load_besked_og_loadet_billedet()
{
    div_loader.style.display = "";
    img_billede.style.display = "none";
    setTimeout("vis_billede();",1); // forsinkelse på 1 ms, for at loading-beskeden kan nå at komme frem
}

function prevnext(pm)
{
    // pm = PlusMinus (frem / tilbage)
    // 1 = true = p = plus = frem
    // 0 = false = m = minus = tilbage

    if (pm)
    {
        nr++;
        if (nr >= billeder.length) nr = 0;
    } else {
        nr--;
        if (nr < 0) nr = billeder.length - 1;
    }
    vis_load_besked_og_loadet_billedet();
}
<% end if %>
</script>
</head>
<body onload="initialiser()"><% if fejl <> "" then rw fejl %>
<noscript>
Dette galleri bruger <b>JavaScript</b>, hvilket er sl&aring;et fra i din browser.<br>
For at kunne benytte galleriet skal du sl&aring; JavaScript til.
</noscript>

<div id="navigation" style="display:none">
<a href="#" onclick="prevnext(0);return false">Vis forrige billede</a>
&nbsp;
<a href="#" onclick="prevnext(1);return false">Vis næste billede</a>
<br><br>
</div>

<div id="beholder" style="position:absolute;">
    <div id="loader" style="position:absolute;width:100px">&nbsp;</div>
    <img src="" id="billede" onload="skjul_load_besked_og_vis_billede();" style="position:absolute;display:none">
</div>

</body>
</html>
<% end if %>
Avatar billede thesurfer Nybegynder
13. august 2006 - 20:38 #14
Jeg har kigget og tænkt lidt på koden.. Det ville være mere logisk, ASP-IF-sætningen afgjorde om scriptet overhovedet skulle udskrives.

Lige nu, vil der som minimum stå følgende i filen, hvilket er når det ikke er en "gallery"-mappe:

<script type="text/JavaScript" language="JavaScript">
function initialiser()
{
    loader_besked = "Loader billede...";
    billeder = new Array();
}
</script>

og onload="initialiser()"


De ting burde ikke være i filen, når det ikke er en gallery-mappe.
Jeg kigger på det engang i aften, eller i morgen, og smider rettelsen herind.
Avatar billede thesurfer Nybegynder
14. august 2006 - 10:32 #15
Da jeg lavede rettelsen i aftes, gik Eksperten ned.. typisk..

Her er den nye kode:

<%
option explicit
dim fso, folder, file
dim arrFiler
dim i
dim fejl, startbillede, showpic, nr
fejl = ""

function rw(txt)
' rw er en forkortelse for Reponse.Write
response.write txt
end function
%>
<html>
<head>
<title>Galleri</title>
<style type="text/css">
/* brug din eget CSS */
body
{
    background-color:#000000;
    color:#cccccc;
    font-family:tahoma;
    font-size:12px;
}
</style>
<%
if request.querystring("ShowPic") <> "" then

    ' ------------- KONTROLFIL ---------------
    ' Hvis den definerede fil IKKE findes i mappen, vises der ingen billeder!
    ' Filen skal bare eksistere, så det er lige meget om den indeholder noget.
   
    dim kontrolfil:
    kontrolfil = "galleryfolder.asp" ' ret filnavnet her
    ' ------------- KONTROLFIL ---------------

    showpic = request.querystring("ShowPic")

    Set fso = CreateObject("Scripting.FileSystemObject")

    if fso.FileExists(server.mappath(showpic & "\" & kontrolfil)) = false then

        fejl = "* Der er ingen billeder i den angivne mappe."

    else
    %>
<script type="text/JavaScript" language="JavaScript">
function initialiser()
{
    loader_besked = "Loader billede...";
    billeder = new Array();
    <%
        startbillede = request.querystring("startpic")

        set folder = fso.GetFolder(server.mappath(showpic))

        for each file in folder.files
            if file.name <> kontrolfil then
                arrFiler = arrFiler & file.name & "*"
            end if
        next

        set folder = nothing
        set fso = nothing

        arrFiler = left(arrFiler, len(arrFiler) - 1)
        arrFiler = split(arrFiler, "*")

        nr = -1
        for i = lbound(arrFiler) to ubound(arrFiler)
            rw "    billeder[billeder.length] = '" & arrFiler(i) & "';"
            if i <> ubound(arrFiler) then rw vbCrLf
            if startbillede <> "" then if startbillede = arrFiler(i) then nr = i
        next

        if nr = -1 then nr = 0
    %>
    nr = <%=nr%>;

    img_billede = document.getElementById('billede');
    div_loader = document.getElementById('loader');
    div_navigation = document.getElementById('navigation');

    if (billeder.length > 0)
    {
        div_loader.innerHTML = loader_besked;
        div_navigation.style.display = "";
    }

    vis_billede(); // viser billedet (som er det første, da nr er lig 0)
}

function vis_billede()
{
    img_billede.src = '<%=showpic%>\\' + billeder[nr];
}

function skjul_load_besked_og_vis_billede()
{
    div_loader.style.display = "none";
    img_billede.style.display = "";
}

function vis_load_besked_og_loadet_billedet()
{
    div_loader.style.display = "";
    img_billede.style.display = "none";
    setTimeout("vis_billede();",1); // forsinkelse på 1 ms, for at loading-beskeden kan nå at komme frem
}

function prevnext(pm)
{
    // pm = PlusMinus (frem / tilbage)
    // 1 = true = p = plus = frem
    // 0 = false = m = minus = tilbage

    if (pm)
    {
        nr++;
        if (nr >= billeder.length) nr = 0;
    } else {
        nr--;
        if (nr < 0) nr = billeder.length - 1;
    }
    vis_load_besked_og_loadet_billedet();
}
</script>
<%
    end if
else
    fejl = "* Der er valgt nogen mappe."
end if
%>
<body<% if fejl = "" then rw " onload=""initialiser()""" %>>
<% rw fejl %>
<noscript>
<br>
* Dette galleri bruger <b>JavaScript</b>, hvilket er sl&aring;et fra i din browser.<br>
For at kunne benytte galleriet skal du sl&aring; JavaScript til.
</noscript>

<div id="navigation" style="display:none">
<a href="#" onclick="prevnext(0);return false">Vis forrige billede</a>
&nbsp;
<a href="#" onclick="prevnext(1);return false">Vis næste billede</a>
<br><br>
</div>

<div id="beholder" style="position:absolute;">
    <div id="loader" style="position:absolute;width:100px">&nbsp;</div>
    <img src="" id="billede" onload="skjul_load_besked_og_vis_billede();" style="position:absolute;display:none">
</div>

</body>
</html>
Avatar billede w13 Novice
19. august 2006 - 22:21 #16
Nu har jeg kigget lidt på det. Men den giver følgende fejl:

Microsoft VBScript runtime error '800a01a8'
Object required: ''
/galleryshow.asp, line 44

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

Linje 44 er denne:

set folder = fso.GetFolder(server.mappath(showpic))

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

Har i øvrigt prøvet at variere den på mange forskellige måder, som alle giver samme fejl. Har dog sikret mig, at det er dér, fejlen ligger.
Avatar billede thesurfer Nybegynder
21. august 2006 - 10:31 #17
Du bliver nødt til at vise mig, hvordan din kode ser ud. Du må have ændret noget, for min kode virker fint:


<%
option explicit
dim fso, folder, file
dim arrFiler
dim i
dim fejl, startbillede, showpic, nr
fejl = ""

function rw(txt)
' rw er en forkortelse for Reponse.Write
response.write txt
end function
%>
<html>
<head>
<title>Galleri</title>
<style type="text/css">
/* brug din eget CSS */
body
{
    background-color:#000000;
    color:#cccccc;
    font-family:tahoma;
    font-size:12px;
}
</style>
<%
if request.querystring("ShowPic") <> "" then

    ' ------------- KONTROLFIL ---------------
    ' Hvis den definerede fil IKKE findes i mappen, vises der ingen billeder!
    ' Filen skal bare eksistere, så det er lige meget om den indeholder noget.
   
    dim kontrolfil:
    kontrolfil = "galleryfolder.asp" ' ret filnavnet her
    ' ------------- KONTROLFIL ---------------

    showpic = request.querystring("ShowPic")

    Set fso = CreateObject("Scripting.FileSystemObject")

    if fso.FileExists(server.mappath(showpic & "\" & kontrolfil)) = false then

        fejl = "* Der er ingen billeder i den angivne mappe."

    else
    %>
<script type="text/JavaScript" language="JavaScript">
function initialiser()
{
    loader_besked = "Loader billede...";
    billeder = new Array();
    <%
        startbillede = request.querystring("startpic")

        set folder = fso.GetFolder(server.mappath(showpic))

        for each file in folder.files
            if file.name <> kontrolfil then
                arrFiler = arrFiler & file.name & "*"
            end if
        next

        set folder = nothing
        set fso = nothing

        arrFiler = left(arrFiler, len(arrFiler) - 1)
        arrFiler = split(arrFiler, "*")

        nr = -1
        for i = lbound(arrFiler) to ubound(arrFiler)
            rw "    billeder[billeder.length] = '" & arrFiler(i) & "';"
            if i <> ubound(arrFiler) then rw vbCrLf
            if startbillede <> "" then if startbillede = arrFiler(i) then nr = i
        next

        if nr = -1 then nr = 0
    %>
    nr = <%=nr%>;

    img_billede = document.getElementById('billede');
    div_loader = document.getElementById('loader');
    div_navigation = document.getElementById('navigation');

    if (billeder.length > 0)
    {
        div_loader.innerHTML = loader_besked;
        div_navigation.style.display = "";
    }

    vis_billede(); // viser billedet (som er det første, da nr er lig 0)
}

function vis_billede()
{
    img_billede.src = '<%=showpic%>\\' + billeder[nr];
}

function skjul_load_besked_og_vis_billede()
{
    div_loader.style.display = "none";
    img_billede.style.display = "";
}

function vis_load_besked_og_loadet_billedet()
{
    div_loader.style.display = "";
    img_billede.style.display = "none";
    setTimeout("vis_billede();",1); // forsinkelse på 1 ms, for at loading-beskeden kan nå at komme frem
}

function prevnext(pm)
{
    // pm = PlusMinus (frem / tilbage)
    // 1 = true = p = plus = frem
    // 0 = false = m = minus = tilbage

    if (pm)
    {
        nr++;
        if (nr >= billeder.length) nr = 0;
    } else {
        nr--;
        if (nr < 0) nr = billeder.length - 1;
    }
    vis_load_besked_og_loadet_billedet();
}
</script>
<%
    end if
else
    fejl = "* Der er valgt nogen mappe."
end if
%>
<body<% if fejl = "" then rw " onload=""initialiser()""" %>>
<% rw fejl %>
<noscript>
<br>
* Dette galleri bruger <b>JavaScript</b>, hvilket er sl&aring;et fra i din browser.<br>
For at kunne benytte galleriet skal du sl&aring; JavaScript til.
</noscript>

<div id="navigation" style="display:none">
<a href="#" onclick="prevnext(0);return false">Vis forrige billede</a>
&nbsp;
<a href="#" onclick="prevnext(1);return false">Vis næste billede</a>
<br><br>
</div>

<div id="beholder" style="position:absolute;">
    <div id="loader" style="position:absolute;width:100px">&nbsp;</div>
    <img src="" id="billede" onload="skjul_load_besked_og_vis_billede();" style="position:absolute;display:none">
</div>

</body>
</html>
Avatar billede w13 Novice
15. september 2006 - 16:16 #18
Altså uden din kode, ser koden til at vise et billed således ud, hvor den virker:
----------------------------------------------
<%If Session("login_username") = "" Then
Response.Redirect "login.asp?alert=notloggedin"
End If

Response.Buffer = True%>
<%Server.ScriptTimeout = 1000
Session.Timeout = 90
response.expires = -1
Session.LCID = 1030

If Request.Querystring("method") = "savecomment" AND Not Request.Querystring("ShowPic") = "" And Not Request.Form("comment") = "" Then

    Set rs = Server.CreateObject("ADODB.RecordSet")
    Set Conn = Server.CreateObject("ADODB.Connection")
    strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/db/food.mdb")
    Conn.Open strDSN

        strSQL = "SELECT * FROM [piccomments]"

        rs.Open strSQL, strDSN, 2, 2
        rs.AddNew

        rs("pic") = Replace(Request.Querystring("ShowPic"),"'","&#39;")
        rs("username") = session("login_username")
        rs("comment") = Replace(Request.Form("comment"),"'","&#39;")
        rs("createdate") = now()

    rs.Update

    rs.Close
    set rs = Nothing

Response.Redirect "galleryshow.asp?ShowPic=" & Request.Querystring("ShowPic")

End If%><html>
<head>
<title>Vis billed</title>
<link rel="stylesheet" href="/stylesheet/screen.css" type="text/css">
</head>
<body>

<center>
<table border="0">
<tr valign="top"><td>

<%strSitePath = "C:\webs\talkactive\web7910\andenk.dk"
showPic = Request.Querystring("ShowPic")

If Not showPic = "" Then

ShowPic = Replace(ShowPic, " ", "%20")
  dim fs,p
  set fs=Server.CreateObject("Scripting.FileSystemObject")
  p=fs.getfilename(strSitePath & Request.Querystring("ShowPic"))
  strPicName = Mid(p,1,Len(p)-4)
  Response.Write "<p align=""center""><h2>" & strPicName & "</h2></p>" & VbCrLf
  Response.Write "<p align=""center""><img alt=""" & strPicName & """ src=""\upload\downloads\billed\" & ShowPic & """ border=""1""></p>" & VbCrLf
  set fs=nothing

End If%>
</td></tr>
</table>
</center>
Avatar billede thesurfer Nybegynder
15. september 2006 - 21:22 #19
Når jeg kigger på denne del:

Microsoft VBScript runtime error '800a01a8'
Object required: ''
/galleryshow.asp, line 44

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

Linje 44 er denne:

set folder = fso.GetFolder(server.mappath(showpic))


vil jeg side, at du mangler linien "Set fso = CreateObject("Scripting.FileSystemObject")" FØR linien "set folder = fso.GetFolder(server.mappath(showpic))"


Jeg ville se koden, efter at du havde implementeret min kode, så jeg kunne se, hvad du havde gjort forkert.. :-)

Prøv igen..
Avatar billede w13 Novice
15. september 2006 - 23:27 #20
underligt.. for denne kode virker :o

Jaeh, ved det - havde bare nulstillet koden, sidst jeg prøvede og det ikke virkede.. :-(
Avatar billede w13 Novice
15. september 2006 - 23:30 #21
..jeg har da ingen linje, der hedder "set folder = fso.GetFolder(server.mappath(showpic))"? Har jeg? :S
Avatar billede thesurfer Nybegynder
16. september 2006 - 02:27 #22
Du skal jo bruge koden fra 21/08-2006 10:31:39.. :-)
Avatar billede w13 Novice
16. september 2006 - 12:21 #23
Aah, ok. Tror jeg misforstod dig. =) Prøver det lige..
Avatar billede w13 Novice
16. september 2006 - 12:50 #24
Hvordan kan det være, at den nu kun skriver "Loader billed..." men ikke kommer videre? =S
Avatar billede thesurfer Nybegynder
17. september 2006 - 23:57 #25
Jeg skal lige se din kode.. det kan være at du har glemt et eller andet..
Avatar billede w13 Novice
18. september 2006 - 16:10 #26
<%
option explicit
dim fso, folder, file
dim arrFiler
dim i
dim fejl, startbillede, showpic, showpath, nr
fejl = ""

function rw(txt)
' rw er en forkortelse for Reponse.Write
response.write txt
end function
%>
<html>
<head>
<title>Galleri</title>
<style type="text/css">
/* brug din eget CSS */
body
{
    background-color:#000000;
    color:#cccccc;
    font-family:tahoma;
    font-size:12px;
}
</style>
<%
if request.querystring("ShowPic") <> "" then

    showpic = request.querystring("ShowPic")
    showpath = "/upload/downloads/billed/" & request.querystring("ShowPath")

    Set fso = CreateObject("Scripting.FileSystemObject")
    %>
<script type="text/JavaScript" language="JavaScript">
function initialiser()
{
    loader_besked = "Loader billede...";
    billeder = new Array();
    <%
        startbillede = request.querystring("showpic")

        set folder = fso.GetFolder(server.mappath(showpath))

        for each file in folder.files
            arrFiler = arrFiler & file.name & "*"
        next

        set folder = nothing
        set fso = nothing

        arrFiler = left(arrFiler, len(arrFiler) - 1)
        arrFiler = split(arrFiler, "*")

        nr = -1
        for i = lbound(arrFiler) to ubound(arrFiler)
            rw "    billeder[billeder.length] = '" & arrFiler(i) & "';"
            if i <> ubound(arrFiler) then rw vbCrLf
            if startbillede <> "" then if startbillede = arrFiler(i) then nr = i
        next

        if nr = -1 then nr = 0
    %>
    nr = <%=nr%>;

    img_billede = document.getElementById('billede');
    div_loader = document.getElementById('loader');
    div_navigation = document.getElementById('navigation');

    if (billeder.length > 0)
    {
        div_loader.innerHTML = loader_besked;
        div_navigation.style.display = "";
    }

    vis_billede(); // viser billedet (som er det første, da nr er lig 0)
}

function vis_billede()
{
    img_billede.src = '<%=showpath & "\" & showpic%>\\' + billeder[nr];
}

function skjul_load_besked_og_vis_billede()
{
    div_loader.style.display = "none";
    img_billede.style.display = "";
}

function vis_load_besked_og_loadet_billedet()
{
    div_loader.style.display = "";
    img_billede.style.display = "none";
    setTimeout("vis_billede();",1); // forsinkelse på 1 ms, for at loading-beskeden kan nå at komme frem
}

function prevnext(pm)
{
    // pm = PlusMinus (frem / tilbage)
    // 1 = true = p = plus = frem
    // 0 = false = m = minus = tilbage

    if (pm)
    {
        nr++;
        if (nr >= billeder.length) nr = 0;
    } else {
        nr--;
        if (nr < 0) nr = billeder.length - 1;
    }
    vis_load_besked_og_loadet_billedet();
}
</script>
<%
end if
%>
<body<% if fejl = "" then rw " onload=""initialiser()""" %>>
<% rw fejl %>
<noscript>
<br>
* Dette galleri bruger <b>JavaScript</b>, hvilket er sl&aring;et fra i din browser.<br>
For at kunne benytte galleriet skal du sl&aring; JavaScript til.
</noscript>

<div id="navigation" style="display:none">
<a href="#" onclick="prevnext(0);return false">Vis forrige billede</a>
&nbsp;
<a href="#" onclick="prevnext(1);return false">Vis næste billede</a>
<br><br>
</div>

<div id="beholder" style="position:absolute;">
    <div id="loader" style="position:absolute;width:100px">&nbsp;</div>
    <img src="" id="billede" onload="skjul_load_besked_og_vis_billede();" style="position:absolute;display:none">
</div>

</body>
</html>
Avatar billede thesurfer Nybegynder
19. september 2006 - 01:15 #27
Jeg har pakket min kode ned i en rar-fil, og uploadet den:

http://thesurfer.users.whitehat.dk/e/q/725612/gallery.rar

Prøv lige mit eksempel.. virker det som det skal?
Avatar billede w13 Novice
19. september 2006 - 18:13 #28
Dit eksempel virker fint på min server, ja.
Avatar billede thesurfer Nybegynder
19. september 2006 - 22:49 #29
Det kan være at der er fejl i stien til billederne..

Prøv med følgende:

function vis_billede()
{
        sti = '<%=showpath & "\" & showpic%>\\' + billeder[nr];
        alert(sti)
    img_billede.src = sti;
}

Der skulle gerne poppe en box op med stien + filnavnet..

Er sti+filnavn korrekt?
Avatar billede thesurfer Nybegynder
19. september 2006 - 22:50 #30
Nå ja..

Det skal heller ikke være "\" og "\\" men "/":

        sti = '<%=showpath & "/" & showpic %>/' + billeder[nr];
Avatar billede w13 Novice
23. september 2006 - 14:47 #31
Nu viser koden billederne og lader mig navigere frem og tilbage imellem billeder. =D

Der er dog stadig den fejl, at den tilsyneladende ikke reagerer på "startbillede".. Den viser altid først det første billed i mappen. =S
Avatar billede thesurfer Nybegynder
25. september 2006 - 11:18 #32
Jeg bliver nødt til at se din kode, med min kode implementeret.. for der er et eller andet galt..

Enten er det fordi du laver et eller andet forkert, eller også er det Eksperten der er på spil igen..

Eksperten har det med at automatisk at fjerne nogle tegn, under bestemte vilkår..

F.eks. '" bliver til " eller noget i den stil..
Avatar billede thesurfer Nybegynder
25. september 2006 - 11:19 #33
Hvis du indsætter koden her, og jeg tester det med succes, skal jeg lige have dig til at uploade koden i stedet..

Det kunne være at det var Eksperten der klokkede i det..
Avatar billede w13 Novice
25. september 2006 - 12:30 #34
<html>
<head>
<title>Vis billed</title>
<%if request.querystring("ShowPic") <> "" then

    showpic = request.querystring("ShowPic")
    showpath = "/upload/downloads/billed/" & request.querystring("ShowPath")

    Set fso = CreateObject("Scripting.FileSystemObject")
    %>
<script type="text/JavaScript" language="JavaScript">
function initialiser()
{
    loader_besked = "Loader billede...";
    billeder = new Array();
<%      startbillede = request.querystring("showpic")%>
    startbillede = '<%=Replace(startbillede,(Replace(Request.Querystring("ShowPath"),"%20","") & "/"),"")%>';<%

        set folder = fso.GetFolder(server.mappath(showpath))

        for each file in folder.files
            arrFiler = arrFiler & file.name & "*"
        next

        set folder = nothing
        set fso = nothing

        arrFiler = left(arrFiler, len(arrFiler) - 1)
        arrFiler = split(arrFiler, "*")

        nr = -1
        for i = lbound(arrFiler) to ubound(arrFiler)
            Response.Write "    billeder[billeder.length] = '" & arrFiler(i) & "';"
            if i <> ubound(arrFiler) then Response.Write vbCrLf
            if startbillede <> "" then if startbillede = arrFiler(i) then nr = i
        next

        if nr = -1 then nr = 0
    %>
    nr = <%=nr%>;

    img_billede = document.getElementById('billede');
    div_loader = document.getElementById('loader');
    div_navigation = document.getElementById('navigation');

    if (billeder.length > 0)
    {
        div_loader.innerHTML = loader_besked;
        div_navigation.style.display = "";
    }

    vis_billede(); // viser billedet (som er det første, da nr er lig 0)
}

function vis_billede()
{
    img_billede.src = '<%=showpath & "\\"%>' + billeder[nr];
}

function skjul_load_besked_og_vis_billede()
{
    div_loader.style.display = "none";
    img_billede.style.display = "";
}

function vis_load_besked_og_loadet_billedet()
{
    div_loader.style.display = "";
    img_billede.style.display = "none";
    setTimeout("vis_billede();",1); // forsinkelse på 1 ms, for at loading-beskeden kan nå at komme frem
}

function prevnext(pm)
{
    // pm = PlusMinus (frem / tilbage)
    // 1 = true = p = plus = frem
    // 0 = false = m = minus = tilbage

    if (pm)
    {
        nr++;
        if (nr >= billeder.length) nr = 0;
    } else {
        nr--;
        if (nr < 0) nr = billeder.length - 1;
    }
    vis_load_besked_og_loadet_billedet();
}
</script>
<%end if%>
<link rel="stylesheet" href="/stylesheet/screen.css" type="text/css">
</head>
<body<%if fejl = "" then Response.Write " onload=""initialiser()"""%>>

<%Response.Write fejl%>
<noscript>
<br>
* Dette galleri bruger <b>JavaScript</b>, hvilket er sl&aring;et fra i din browser.<br>
For at kunne benytte galleriet skal du sl&aring; JavaScript til.
</noscript>

<center>
<table border="0">
<tr valign="top"><td>

<div id="beholder">
    <div id="loader">&nbsp;</div>
    <img src="" id="billede" onload="skjul_load_besked_og_vis_billede();" style="display:none;">
</div>

</td></tr>
<tr valign="top"><td>
<div id="navigation" style="display:none">
<a href="#" onclick="prevnext(0);return false">Forrige billed</a>
&nbsp;
<a href="#" onclick="prevnext(1);return false">Næste billede</a>
<br><br>
</div>
</td></tr>
</table>
</center>

</body>
</html>
Avatar billede thesurfer Nybegynder
01. oktober 2006 - 00:20 #35
Du må undskylde at det tager så lang tid.. jeg har haft problemer med forbindelsen på skolen (kommer og går), og har haft travlt in real life..

Jeg vil kigge på det snarest muligt.
Avatar billede w13 Novice
01. oktober 2006 - 11:26 #36
Det er helt i orden. Jeg er bare glad for, du gider hjælpe. =) Ellers er jeg nemlig rimelig lost.
Avatar billede thesurfer Nybegynder
13. oktober 2006 - 00:25 #37
Jeg har fundet et par fejl i den kode du bruger..

Det ser ud til, at du forveksler "ShowPic" med "ShowPath"..
Jeg kigger lige nærmere på det..
Avatar billede thesurfer Nybegynder
13. oktober 2006 - 00:42 #38
Jeg har lavet nogle rettelser, så nu virker det fint..

Jeg har også lavet kontrol visse steder, så den ikke bare går ned, hvis mappen er tom, eller hvis mappen ikke eksisterer..

Koden ser nu sådan ud ( http://thesurfer.users.whitehat.dk/e/q/725612/galleryshow.rar ):

<html>
<head>
<title>Vis billed</title>
<%if request.querystring("ShowPic") <> "" then

    showpic = request.querystring("ShowPic")
    showpath = "/upload/downloads/billed/" & request.querystring("ShowPath")

    Set fso = CreateObject("Scripting.FileSystemObject")
        if fso.folderexists(server.mappath(showpath)) = false then
            fejl = "Den angivne mappe findes ikke."
        else
    %>
<script type="text/JavaScript" language="JavaScript">
function initialiser()
{
    loader_besked = "Loader billede...";
    billeder = new Array();
<%      startbillede = request.querystring("showpic")%>
    startbillede = '<%=Replace(startbillede,(Replace(Request.Querystring("ShowPath"),"%20","") & "/"),"")%>';<%


        set folder = fso.GetFolder(server.mappath(showpath))
               
        for each file in folder.files
            arrFiler = arrFiler & file.name & "*"
        next

                if arrFiler = "" then fejl = "Der er ingen billeder i den angivne mappe"


        set folder = nothing
        set fso = nothing

                if fejl = "" then

        arrFiler = left(arrFiler, len(arrFiler) - 1)
        arrFiler = split(arrFiler, "*")

        nr = -1
        for i = lbound(arrFiler) to ubound(arrFiler)
            Response.Write "    billeder[billeder.length] = '" & arrFiler(i) & "';"
            if i <> ubound(arrFiler) then Response.Write vbCrLf
            if startbillede <> "" then if startbillede = arrFiler(i) then nr = i
        next

        if nr = -1 then nr = 0
    %>
    nr = <%=nr%>;

    img_billede = document.getElementById('billede');
    div_loader = document.getElementById('loader');
    div_navigation = document.getElementById('navigation');

    if (billeder.length > 0)
    {
        div_loader.innerHTML = loader_besked;
        div_navigation.style.display = "";
    }

    vis_billede(); // viser billedet (som er det første, da nr er lig 0)
        <% end if %>
}

function vis_billede()
{
    img_billede.src = '<%=showpath & "\\"%>' + billeder[nr];
}

function skjul_load_besked_og_vis_billede()
{
    div_loader.style.display = "none";
    img_billede.style.display = "";
}

function vis_load_besked_og_loadet_billedet()
{
    div_loader.style.display = "";
    img_billede.style.display = "none";
    setTimeout("vis_billede();",1); // forsinkelse på 1 ms, for at loading-beskeden kan nå at komme frem
}

function prevnext(pm)
{
    // pm = PlusMinus (frem / tilbage)
    // 1 = true = p = plus = frem
    // 0 = false = m = minus = tilbage

    if (pm)
    {
        nr++;
        if (nr >= billeder.length) nr = 0;
    } else {
        nr--;
        if (nr < 0) nr = billeder.length - 1;
    }
    vis_load_besked_og_loadet_billedet();
}
</script>
<%
        end if ' om mappen eksisterer
end if
%>
<link rel="stylesheet" href="/stylesheet/screen.css" type="text/css">
</head>
<body<%if fejl = "" then Response.Write " onload=""initialiser()"""%>>

<%Response.Write fejl%>
<noscript>
<br>
* Dette galleri bruger <b>JavaScript</b>, hvilket er sl&aring;et fra i din browser.<br>
For at kunne benytte galleriet skal du sl&aring; JavaScript til.
</noscript>

<center>
<table border="0">
<tr valign="top"><td>

<div id="beholder">
    <div id="loader">&nbsp;</div>
    <img src="" id="billede" onload="skjul_load_besked_og_vis_billede();" style="display:none;">
</div>

</td></tr>
<tr valign="top"><td>
<div id="navigation" style="display:none">
<a href="#" onclick="prevnext(0);return false">Forrige billed</a>
&nbsp;
<a href="#" onclick="prevnext(1);return false">Næste billede</a>
<br><br>
</div>
</td></tr>
</table>
</center>

</body>
</html>


RAR-filen indeholder kun galleryshow.asp, som viser billederne..

Jeg håber at det virker hos dig.. ellers må du lige sige til.
Avatar billede w13 Novice
13. oktober 2006 - 17:49 #39
Koden viser stadig først det første billed i mappen, uanset hvilket et, man har valgt, men det har jeg fixet nu. Nu er det bare det, at jeg gerne ville opdatere siden for hvert billed, eftersom jeg henter kommentarer til hvert billed - og det fungerer naturligvis ikke, hvis der kun skiftes billed med JavaScript. Så jeg har lavet en af funktionerne lidt om:
------------------------------------
function prevnext(pm)
{
    // pm = PlusMinus (frem / tilbage)
    // 1 = true = p = plus = frem
    // 0 = false = m = minus = tilbage

    if (pm)
    {
        nr++;
        if (nr >= billeder.length) nr = 0;
    window.location.href='galleryshow.asp?ShowPic=<%=Request.Querystring("ShowPath")%>/' + (billeder.length + 1) + '&ShowPath=<%=Request.Querystring("ShowPath")%>';
    } else {
        nr--;
        if (nr < 0) nr = billeder.length - 1;
    window.location.href='galleryshow.asp?ShowPic=<%=Request.Querystring("ShowPath")%>/' + (billeder.length - 1) + '&ShowPath=<%=Request.Querystring("ShowPath")%>';
    }
}
----------------------------------
Den virker også fint, lige bortset fra (billeder.length + 1), som indsætter et tal. =S Hvordan får man det til at indsætte indholdet i stedet for tallet?
Avatar billede thesurfer Nybegynder
14. oktober 2006 - 14:38 #40
Ang startbillede:
Startbilledet sættes her: startbillede = request.querystring("showpic")
URL skal indholde "showpic=filnavn.jpg", enten som "?show.." eller "&show..."

Som sagt, har jeg testet koden, og det virker som det skal:
- Man kan vælge en mappe, hvor der ligger billeder i
- Man kan vælge et startbillede, som automatisk bliver vist

Hvis det ikke virker, selv med informationen fra dette indlæg, forklar problemet.. det kan være at jeg har misforstået det..


Ang "(billeder.length + 1)":
Det skal se sådan ud: billeder[billeder.length + 1]
Avatar billede w13 Novice
14. oktober 2006 - 17:53 #41
Så virker det som det skal :D Tusind tak for din hjælp!
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
Kurser inden for grundlæggende programmering

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