Hej, mjae... jag går nog bet..Dynamisk popup beroende på bildstorlek?
Sidan loopar fram ett gäng tumnaglar. Vid klick på tumnageln så öppnas en popup som jag vill ska anpassa sig efter den stora bilden.
Jag har gjort en pryl som kollar kategorin på bilden och därefter bestämt storleken på bilden men det fungerar inte bra ( Case satsen ).
Lite kod...
<code>
<%
strSQL = " SELECT * FROM tbl_sortiment WHERE tillhor_Produkt= '" & strWhat & "' AND tillhor_marke = '" & strMarke & "'"
RS.Open strSQL, strCon, 1, 2
%>
<%
Dim strWidth, strHeight
Select Case strWhat
Case 5:
strWidth = "210"
strHeight = "405"
Case 8:
strWidth = "360"
strHeight = "190"
Case 9:
strWidth = "360"
strHeight = "250"
End select
%>
<TABLE border="0" cellpadding="3" cellspacing="1" bgcolor="#C2C2C2" width="70%">
<%Response.write"<font color='#ff0000'><b>"& strBenamning &"</b></font>"%><br><br>
<%Do while not RS.EOF%>
<TR>
<td width="40" rowspan="3" valign="middle" bgcolor="#FFFFFF">
<DIV align="center">
<%
IF RS("liten_bild") <> "" then
%>
',<%=strWidth%>,<%=strHeight%>);">" border="0">
<%Else%>
<img src="small_pics/bild_saknas.gif" width="60" height="60" alt="" border="0"></DIV>
<%End IF%>
</code>
Små bilder ligger i mappen small_pics/ och stora bilderna ligger i big_pics/
Har provat en bra stund med Pelles tips 775 men jag får det inte att fungera...
Tacksam för hjälp/
PeterSv: Dynamisk popup beroende på bildstorlek?
Den öppnar popupar som är enorma.
Tex en bild som är 350 pixlar bred blir när jag skriver ut height 7444 :
<code>
<%
strBigpic = RS("stor_bild")
Response.write strBigpic &"<br>"
GetPicSize ("big_pics\"&strBigpic)
Response.write height &"<br>"
Response.write width
%>
</code>
En annan rätt lustig grej är att första bilden i loopen inte får något värde alls.
Funktionen ser ut så här:
<code>
<%
Function GetPicSize (fn)
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.FileExists(Server.MapPath(fn)) = false then exit function
pn = Server.MapPath(fn)
tstr = ""
Set f = fso.OpenTextFile(pn)
Select Case UCase(Right(fn,4))
Case ".JPG"
If NOT f.AtEndOfStream Then
chars = f.read(200)
height = asc(mid(chars,164,1))*256 + asc(mid(chars,165,1))
width = asc(mid(chars,166,1))*256 + asc(mid(chars,167,1))
If (height>600) OR (height<3) OR (WIDTH<3) OR (WIDTH>600) Then
Else
hw = " WIDTH=" & width & " HEIGHT=" & height
End If
End If
GetPicSize = "W : " & width & " H :" & height
End Select
f.Close
Set f = Nothing
Set fso = Nothing
End Function
%>
</code>