Avatar billede jr40 Nybegynder
22. marts 2004 - 23:25 Der er 17 kommentarer og
1 løsning

formpassing af nyt window

Hejsa

Jeg har et billed system, hvor billederne i en mappe bliver listet, og når man klikker på et billed så åbner det i samme window, men jeg ville gerne have af linkene bliver åbnet i et nyt window, og det window skal kunne tilpasse sig til selve billeds størrelse..

Håber i forstår, hvad jeg mener.

Her kan i se siden:
http://www.andre.aklausen.dk/basket/test.asp

Og nede under her, kan i se kilde koden over siden, så i kan hjælpe mig med af lave det som der står skrevet øverst.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Basketkort . macpack . dk</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK media=all href="style.css"
type=text/css rel=stylesheet>

<script type="text/javascript">
function winStatus(img){
  var f = img.src.split('/');
  window.status = f[f.length-1].split(".")[0];
  return true;
}
</script>

</head>

<body onmouseover=""return winStatus(this);"">
<div align="center">
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <table width="800" border="0">
    <tr>
      <td><img src="images/top.gif" width="800" height="127"></td>
    </tr>
  </table>
  <table width="800" height="211" border="0" align="center" cellpadding="0" cellspacing="0" style="border: 1px solid #000000;">
    <tr valign="top">
      <td><div align="left">
        <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="800" height="60">
          <param name="movie" value="menu01.swf">
          <param name="quality" value="high">
          <embed src="menu01.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="800" height="60"></embed>
        </object>
      </div>        <div align="left"></div></td>
    </tr>
    <tr valign="top">
      <td width="884" height="135" bordercolor="#CCCCCC">
        <div align="center">
          <%
dim image_directory, image_height, image_width, Images_pr_Page, Images_Horizontal
image_directory = "images/test"
image_height = "144"
image_width = "100"
Images_pr_Page = "24"
Images_Horizontal = "6"

dim count_image, image, Image_Array
Set directory=server.createobject("scripting.filesystemobject")
Set allfiles=directory.getfolder(server.mappath(image_directory))

For each image in allfiles.files
  Image_Array = Image_Array + image.Name & ","

  count_image = count_image +1
Next

dim Current_Page, Total_Pages, Total_Images, Page_Name

Page_Name = request.servervariables("script_name")
Total_Images = count_image

Current_Page  = request.querystring("page")
If Current_Page = "" or Current_Page = "0" then
    Current_Page = "1"
end if

Total_Pages = (Total_Images/Images_pr_Page)

if Total_Pages > int(Total_Pages) then
    Total_Pages = int(Total_Pages) + 1
end if

Image_Array = split(Image_Array,",")

dim First_Image, Last_Image
First_Image = ((Current_Page-1)*(Images_pr_Page))+1
If First_Image =  "0" then
    First_Image = "1"
end if
Last_Image = (Total_Images-First_Image)

if cint(Last_Image) > cint(Images_pr_Page) then
    Last_Image = round(First_Image-1) + round(Images_pr_Page)
else
    Last_Image = (First_Image + Last_Image)
End if

response.write "<table style=""width:100%;"">" & vbCrLf

    dim Count_Image_Prints, td_width
    Count_Image_Prints = 0

    td_width = int(100 / Images_Horizontal)

    dim I
    For I = (First_Image-1) to (Last_Image-1)
        Count_Image_Prints = Count_Image_Prints + 1

        If int(Count_Image_Prints) = int("1") then
            response.write "<tr>" & vbCrLf
        end if

response.write "<td style=""width:"& td_width &"%;text-align:center;"">" &_
                "<img src="""& image_directory &"/"& Image_Array(I) &""" border=""0"" style=""width:"& image_width &"px;height:"& image_height &"px;""  onmouseover=""winStatus(this);"" onmouseout=""window.status='';"" onclick=""location.href=this.src"" />" &_
                    "</td>" & vbCrLf

        If int(Count_Image_Prints) = int(Images_Horizontal) then
            response.write "</tr>" & vbCrLf
            Count_Image_Prints = 0
        end if
    Next

    response.write "</tr>" & vbCrLf &_
    "<tr>" & vbCrLf &_
        "<td colspan="""& Images_Horizontal &""" style=""width:100%;text-align:center;"">" & vbCrLf

        For I = 1 to Total_Pages
            If NOT Cint(Current_Page) = Cint(I) then
                response.write " <a href="""& Page_Name &"?page="& I &""">" &_
                    I &_
                "</a> "
            else
                response.write " ["& I &"] "
            end if
        Next

        response.write "</td>" & vbCrLf &_
    "</tr>" & vbCrLf &_
"</table>" & vbCrLf
%>
        </div></td></tr>
    <tr valign="top">
      <td height="14" bordercolor="#CCCCCC"> <div align="center" class="style1"><a href="#" target="_blank" class="style1">Copyright &copy; 2004 - Andr&eacute; Christensen </a></div></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
</div>
</body>
</html>
Avatar billede skovenborg Nybegynder
22. marts 2004 - 23:31 #1
Avatar billede jr40 Nybegynder
22. marts 2004 - 23:33 #2
Ja lige sådan noget,, men det skal så ind på min side,, på en eller anden måde...
Avatar billede skovenborg Nybegynder
22. marts 2004 - 23:36 #3
tjaa, nu kender jeg absolut intet til asp, men kunne dog forestille mig det skulle se sådan her ud:
response.write "<td style=""width:"& td_width &"%;text-align:center;"">" &_
                "<img src="""& image_directory &"/"& Image_Array(I) &""" border=""0"" style=""width:"& image_width &"px;height:"& image_height &"px;""  onmouseover=""winStatus(this);"" onmouseout=""window.status='';"" onclick=""popWin('"& image_directory &"/"& Image_Array(I) &"');"" />" &_
                    "</td>" & vbCrLf

og så skal du selvfølgelig huske funktionen i headeren:
<head>
<title>Basketkort . macpack . dk</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK media=all href="style.css"
type=text/css rel=stylesheet>

<script type="text/javascript">
function winStatus(img){
  var f = img.src.split('/');
  window.status = f[f.length-1].split(".")[0];
  return true;
}
</script>
<script language="javascript" type="text/javascript">
    function popWin(file){
      newWin=window.open("","ResizeBillede","width=300,height=200,status=no");
      txt='<ht'+'ml><he'+'ad><ti'+'tle>Resize til billede<\57ti'+'tle><scri';
      txt+='pt language="javascript" type="text/javascript">';
      txt+='function resPic(){h=document.images[0].scrollHeight;';
      txt+='w=document.images[0].scrollWidth;window.resizeTo(w+6,h+32);}<\57scri';
      txt+='pt><\57he'+'ad><bo'+'dy style="overflow:hidden;';
      txt+='border:0px;margin:0px"><i'+'mg src="'+file+'" style="top:0px;left:0px;border:0px;';
      txt+='" onload="resPic();"><\57bo'+'dy><\57ht'+'ml>';
      newWin.document.write(txt);
      newWin.document.close();
    }
  </script>

</head>
Avatar billede skovenborg Nybegynder
22. marts 2004 - 23:37 #4
...er dog meget i tvivl om:
onclick=""popWin('"& image_directory &"/"& Image_Array(I) &"');""
er rigtigt skrevet, men jeg håber du selv kan rette det lidt til - har ikke lige gennemskuet hvordan man escaper fra en streng i asp endnu ;-)
Avatar billede jr40 Nybegynder
22. marts 2004 - 23:42 #5
prøv af se:
http://www.andre.aklausen.dk/basket/test1.asp

det er uden den onclick du snakker om..
Avatar billede jr40 Nybegynder
22. marts 2004 - 23:54 #6
Sådan har smidt den onclick ind nu, og bodyen ser sådan her ud nu:
<body onmouseover=""return winStatus(this);""""popWin('"& image_directory &"/"& Image_Array(I) &"');"">

Håber ikke det er forkert.
Avatar billede skovenborg Nybegynder
22. marts 2004 - 23:54 #7
hmm, det virker fint nok - efter at siden var loadet - for mig...kan du ikke få det til at virke eller hvad, det ser ellers fint ud i forhold til roenvings eksempel.
Avatar billede skovenborg Nybegynder
22. marts 2004 - 23:56 #8
hvorfor laver du en popup på bodyen - det skal da være på selve billedet du skal kalde popuppen, hvis jeg har forstået dig ret.
Avatar billede jr40 Nybegynder
22. marts 2004 - 23:56 #9
Syntes det virker ok nu, men kan man ikke gøre så man kan klikke på flere kort af gangen, og den vil bare poppe op med et nyt link hele tiden, istedet for af åbne i samme window som det første man har klikket på?

Også noget andet, hvis det er muligt..

Når man har klikket på et billed, kan man så ikke få vist i title af det nye window sådan her:

bla.bla.bla. billednavn  (uden .jpg)
Avatar billede jr40 Nybegynder
22. marts 2004 - 23:59 #10
hvorfor laver du en popup på bodyen - det skal da være på selve billedet du skal kalde popuppen, hvis jeg har forstået dig ret.
>>>>
Da det er et billed system jeg bruger, så skal den helst du for alle billedere automatisk, uknow?
Avatar billede jr40 Nybegynder
23. marts 2004 - 00:10 #11
så måske skal onclick=""popWin('"& image_directory &"/"& Image_Array(I) &"');"" ind i en funktion, eller?
Avatar billede skovenborg Nybegynder
23. marts 2004 - 00:11 #12
Prøv:
<script language="javascript" type="text/javascript">
    var anumber = 0;
    function popWin(file){
      titel = "Billede: "+(file.substring(file.lastIndexOf("/")+1,file.lastIndexOf(".")));
      newWin=window.open("","ResizeBillede"+(anumber++),"width=300,height=200,status=no");
      txt='<ht'+'ml><he'+'ad><ti'+'tle>'+titel+'<\57ti'+'tle><scri';
      txt+='pt language="javascript" type="text/javascript">';
      txt+='function resPic(){h=document.images[0].scrollHeight;';
      txt+='w=document.images[0].scrollWidth;window.resizeTo(w+6,h+32);}<\57scri';
      txt+='pt><\57he'+'ad><bo'+'dy style="overflow:hidden;';
      txt+='border:0px;margin:0px"><i'+'mg src="'+file+'" style="top:0px;left:0px;border:0px;';
      txt+='" onload="resPic();"><\57bo'+'dy><\57ht'+'ml>';
      newWin.document.write(txt);
      newWin.document.close();
    }
  </script>

Jeg kan ikke helt se hvorfor du vil åbne ét vindue når du flytter musen over siden (body'en). Den skulle jo også gerne du for alle billeder hvis blot stien er korrekt. Nå men hvis det virker for dig kan det også være lige meget om jeg forstår det eller ej ;-)
Avatar billede skovenborg Nybegynder
23. marts 2004 - 00:13 #13
altså som du har det nu på den side du viste mig, så ser det ganske strålende ud.
Avatar billede jr40 Nybegynder
23. marts 2004 - 00:36 #14
Yes nu dur det lige som jeg vil have det!!! de Points er dine, hvis du lige laver et svar.

Har en allersidste ting hvis du gider?

Jeg skal have sagt <font size="10"> &  </font>  på

[1] 2 3 4 osv.

som der er nederst på min side.
Avatar billede skovenborg Nybegynder
23. marts 2004 - 00:44 #15
nu er der ikke noget der hedder size="10" - højst 1-7, men du kan prøve med:
  For I = 1 to Total_Pages
            If NOT Cint(Current_Page) = Cint(I) then
                response.write " <a href="""& Page_Name &"?page="& I &""">" &_
                    I &_
                "</a> "
            else
                response.write " <span style='font-size:12px'>["& I &"]</span> "
            end if
        Next

Ved ikke lige om det er 12, men du kan prøve dig lidt ad for at finde den rette størrelse.
Avatar billede skovenborg Nybegynder
23. marts 2004 - 00:44 #16
og her er et svar :-)
Avatar billede jr40 Nybegynder
23. marts 2004 - 00:46 #17
Lige det jeg manglede tak! ;)
Avatar billede skovenborg Nybegynder
28. marts 2004 - 20:34 #18
og tak for point -)
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