Avatar billede asker Nybegynder
12. november 2002 - 16:02 Der er 18 kommentarer og
2 løsninger

Størelse på billedet samt rullegardin

Hej her har jeg 2 sider med et fotoalbum (ret smart)

side 1

***********************************************************
<%

' PhotoAlbum

Dim CurFile, PopFileShowSub, ShowPic, PictureNo
Dim strPathInfo, strPhysicalPath


Dim intTotPics, intPicsPerRow, intPicsPerPage, intTotPages, intPage, strPicArray()
intPicsPerRow  = 4
intPicsPerPage = 12

intPage = CInt(Request.QueryString("Page"))
If intPage = 0 Then
    intPage = 1
End If


CurFile = "PhotoAlbum.asp"
PopFile = "ShowPicture.asp"
%>
<link rel="stylesheet" type="text/css" href="style.css">
<script language="JavaScript">
<!--
function jumppage(sel)
{
  var i = sel.selectedIndex
  self.location.href = sel.options[i].value
}
// -->
</script>
<script language="JavaScript">
<!-- hide from JavaScript-challenged browsers
function openGalleryWindow(url) {
    if (document.all)
        var xMax = screen.width, yMax = screen.height;
    else
        if (document.layers)
            var xMax = window.outerWidth, yMax = window.outerHeight;
        else
            var xMax = 800, yMax=600;
    var xOffset = (xMax - 200)/2, yOffset = (yMax - 200)/2;
    var xOffset = 100, yOffset = 100;

    popupWin = window.open(url,'new_page','width=700,height=535,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+',scrollbars=auto,toolbars=no,menubar=no,resizable=yes')
}
// done hiding -->
</script>

<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000" width="100%" id="AutoNumber1">
<tr>

<td align="center" width="25%">
  <form action=<%=PopFile%> method="POST">
  <font face="<%= strDefaultFontFace %>" size="<% =strFooterFontSize %>" color="<% =strBaseFontColor %>"><b>Photo Album:</b>
  <select name="go" onChange="jumppage(this);" size=1>
  <%
  ShowSub = request("ShowSub")
  ShowPic = request("ShowPic")
  strPathInfo = Request.ServerVariables("PATH_INFO")
  strPhysicalPath = Server.MapPath(strPathInfo)

  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objFile = objFSO.GetFile(strPhysicalPath)
  Set objFolder = objFile.ParentFolder
  Set objFolderContents = objFolder.Files
  For each Folder in objFolder.SubFolders
      If Left(Folder.Name,1)<>"_" Then
          Response.write "<option "
          If ShowSub=Folder.Name Then
              Response.Write "selected "
          End if
          Response.Write"value='" & CurFile & "?ShowSub="
          Response.Write(Replace(Folder.Name, " ", "%20"))
          response.write "'>"
          Response.Write(Folder.Name & "</option>")
          If ShowSub <= " " Then
            ShowSub = Folder.Name
        End if
      End if
  Next
  Set objFSO = Nothing
  %>
  </select></h3>
  </form>
  </td>
</tr>
</table>


<%
If ShowPic > " " then
  ShowPic = Replace(ShowPic, " ", "%20")
  Response.Write "<a href='java script:history.go(-1)'><img src='" & ShowPic & "'><BR><BR><font face=""verdana"" size=""1""><b>Go Back</b></a>"
Else
%>
  <table border="0" cellpadding="0" cellspacing="5" style="border-collapse: collapse" bordercolor="#000000" width="100%" id="AutoNumber1">
  <tr>
  <%
  strPhysicalPath = Server.MapPath(".\" & ShowSub)
  If ShowSub > " " then
    ShowSub = Replace(ShowSub, " ", "%20")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(strPhysicalPath)
    Set objFolderContents = objFolder.Files



    'Get the number of pictures in the subdirectory
    intTotPics = 0
    For Each objFileItem in objFolderContents
        If Ucase(Right(objFileItem.Name,4))=".GIF" OR Ucase(Right(objFileItem.Name,4))=".JPG" THEN
            intTotPics = intTotPics + 1
        End if
    Next

    'Get the total number of pages in the subdirectory
    If (intTotPics/intPicsPerPage) = (int(intTotPics/intPicsPerPage)) Then
        intTotPages = int(intTotPics/intPicsPerPage)
    Else
        intTotPages = int(intTotPics/intPicsPerPage)+1
    End If
    Redim strPicArray(2,intTotPics)

    'Store picture file names in an array
    x = 0
    For Each objFileItem in objFolderContents
        If Ucase(Right(objFileItem.Name,4))=".GIF" OR Ucase(Right(objFileItem.Name,4))=".JPG" THEN
            strPicArray(0,x) = objFileItem.Name
            strPicArray(1,x) = Cstr(int(x/intPicsPerPage)+1)
            x = x + 1
        End if
    Next

    'Determine if there are multiple pages and if so, display page numbers.
    If intTotPages > 1 Then
        Response.Write "<td colspan='" & intPicsPerRow & "' align='center'><font face='Verdana,Arial' size='1'>Page:&nbsp;&nbsp;&nbsp;"
        For x = 1 to intTotPages
            If x = intPage Then
                Response.Write "</font><font face='Arial' size='2'>" & x & "</font><font face='Arial' size='1'>&nbsp;&nbsp;&nbsp;&nbsp;"
            Else
                Response.Write "<a href='PhotoAlbum.asp?Page=" & x & "&ShowSub=" & ShowSub & "'>" & x & "</a>&nbsp;&nbsp;&nbsp;&nbsp;"
            End If
        Next
        Response.Write "</font></td>"
        Response.Write "</tr><tr><td>&nbsp;</td></tr><tr>"
    End If


    For x = 0 to UBound(strPicArray,2)-1
    If CInt(strPicArray(1,x)) = intPage Then
    ShowPic = Replace(strPicArray(0,x), " ", "%20")
        Response.write "<td align='center' width='25%'><a href=""java script:openGalleryWindow('" & PopFile & "?ShowPic=" & ShowSub & "/" & ShowPic & "')"""
      Response.write "<br>"
      Response.Write("<img src='" & ShowSub & "/" & strPicArray(0,x) & "' width=150> ")
      Response.Write("<br><font color=""" & strBaseFontColor & """><b>" & Mid(strPicArray(0,x),1,Len(strPicArray(0,x))-4) & "</b></font>")
      Response.write "</a></td>" & vbcrlf

      PictureNo = PictureNo + 1
      If PictureNo=intPicsPerRow Then
          Response.write "</tr><tr>"
          PictureNo = 0
      End if
    End If
    Next



    Set objFSO = Nothing
  End if
  %>
  </tr>
  </table>
<%
End if
%>
</center>
</html>
*********************************************************

Side 2

*********************************************************
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<title>Show Picture</title>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Alan Chu -->
<!-- Web Site:  http://homepage.hkpeoples.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var isNav4, isIE4;
if (parseInt(navigator.appVersion.charAt(0)) >= 4) {
isNav4 = (navigator.appName == "Netscape") ? 1 : 0;
isIE4 = (navigator.appName.indexOf("Microsoft") != -1) ? 1 : 0;
}
function fitWindowSize() {
if (isNav4) {
window.innerWidth = document.layers[0].document.images[0].width;
window.innerHeight = document.layers[0].document.images[0].height;
}
if (isIE4) {
window.resizeTo(800, 600);
width = (800 - (document.body.clientWidth -  document.images[0].width)) + 25;
height = (600 - (document.body.clientHeight -  document.images[0].height)) + 55;
window.resizeTo(width, height);
  }
}
//  End -->
</script>

</head>

<BODY onLoad="fitWindowSize()">

<center>
<%
ShowPic = request("ShowPic")
ShowPic = Replace(ShowPic, " ", "%20")
Response.Write "<img src='" & ShowPic & "' border=2><BR>"
response.write "<font size='2'><a href='java script:onClick= window.close()'><font color='#FFFFBE'>Close Window</font></A></font>"
%>
</center>
</body>
</html>
**********************************************************

1. Hvis jeg ændre visningen af biller på side 1 (Flere end der kan være på en side) så mangler jeg rullegardinet ude til højre.

2. På side 2 kunne jeg godt tænke mig at det nye vindue (hvor billederne bliver vist store) kun vises i 800X600
Mit problem er at hvis jeg har billeder der er meget store så fylder de jo mere end skærmen.

3. En forklaring på koden i nemt og forståeligt sprog kunne være radt.
Avatar billede Slettet bruger
12. november 2002 - 16:07 #1
1)
Vi kan ikke se dit body-tag. Måske er der sat scroll="no" dér, hvilket i så fald skal fjernes.

2)
Skal vinduet altid være 800x600?
Avatar billede asker Nybegynder
12. november 2002 - 16:09 #2
1 / det her er alt koden (der er ikke mere)

2 / Både ja og nej = det må aldrig være mere end 800 x 600
Avatar billede Slettet bruger
12. november 2002 - 16:14 #3
1)
Så bør du nok overveje at indsætte de obligatoriske <html>-, <head>- og <body>-tags.
Hvilken af siderne er det i øvrigt, der mangler en scrollbar på?

2)
Sæt dette ind i stedet for den nuværende funktion "fitWindowSize":

function fitWindowSize() {
if (isNav4) {
window.innerWidth = (document.layers[0].document.images[0].width > 800) ? 800 : document.layers[0].document.images[0].width;
window.innerHeight = (document.layers[0].document.images[0].height > 600) ? 600 : document.layers[0].document.images[0].height;
}
if (isIE4) {
width = (800 - (document.body.clientWidth -  document.images[0].width)) + 25;
height = (600 - (document.body.clientHeight -  document.images[0].height)) + 55;
if (width > 800)
width = 800;
if (height > 600)
height = 600;
window.resizeTo(width, height);
  }
}
Avatar billede asker Nybegynder
12. november 2002 - 16:15 #4
Avatar billede asker Nybegynder
12. november 2002 - 16:15 #5
Side 1
Avatar billede Slettet bruger
12. november 2002 - 16:17 #6
Jeg får en scrollbar frem. Billederne tager godt nok umenneskeligt lang tid at loade, men scrollbaren er der!
Avatar billede asker Nybegynder
12. november 2002 - 16:18 #7
Hvorfor mon den ikke er hos mig
Avatar billede Slettet bruger
12. november 2002 - 16:19 #8
Det ved jeg ikke. Hvilken browser bruger du?
Avatar billede asker Nybegynder
12. november 2002 - 16:19 #9
Har du en langsom forbindelse
Avatar billede asker Nybegynder
12. november 2002 - 16:20 #10
EI 6.0
Avatar billede Slettet bruger
12. november 2002 - 16:20 #11
Men prøv at indsætte de førnævnte tags.
I body-tagget skriver du så:

<body scroll="auto" style="overflow: auto;">

Så tror jeg ikke, der er mange browsere, der tør ikke at vise scrollbaren! :)
Avatar billede Slettet bruger
12. november 2002 - 16:20 #12
Min forbindelse er skam hurtig nok. Og jeg bruger også IE6.
Avatar billede Slettet bruger
12. november 2002 - 16:21 #13
Med "rullegardin" mener du da "scrollbar", ikke?
Avatar billede need4speed Nybegynder
12. november 2002 - 16:21 #14
Brug PHP :)
Avatar billede Slettet bruger
12. november 2002 - 16:23 #15
Jeg vender tilbage i morgen.
Avatar billede asker Nybegynder
12. november 2002 - 16:23 #16
Perfekt - men billedet skal også passe ?
Avatar billede asker Nybegynder
12. november 2002 - 16:24 #17
Nej jeg mener >> så man kan skrolle ned ad side ude i højre side  så man kan se de nederste billeder
Avatar billede asker Nybegynder
12. november 2002 - 16:42 #18
Nu har jeg fået skrollbar på side 1 og side 2


Nu sage jeg godt nok 800 x 600 >> er det muligt at finde ud af hvad den besøgendes opløsning er også vise det i den.
Avatar billede Slettet bruger
13. november 2002 - 11:11 #19
Ja, alt det er muligt, men det med at tilpasse billeder er lidt besværligt.
Jeg vender tilbage...
Avatar billede asker Nybegynder
13. november 2002 - 14:04 #20
Jeg opretter lige et nyt som eksperten fortæller
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