webForumDet fria alternativet

Få bild "markerad"

4 svar · 268 visningar · startad av voigtann1

voigtann1Medlem sedan juni 20018 810 inlägg
#1

Jag har en fundering på en kod jag fick på wF för ett tag sen och skulle se om det är möjligt att ordna detta:
Har ett popup med alla bilder jag har på en server (lite ASP koder inblandat) och jag skulle vilja att de bilder man har i ett fält ska bli markerade i popup rutan på något sätt antingen med en border eller kanske transparent.. sidan ser ut så här:

<html>
 <head>
  <title>Add a image</title>

<script type="text/javascript">

function addSrc(src) {
    var elm = window.dialogArguments.forms['frmAddMessage'].elements["bilder"],
	val = '@' + src;

    switch (elm.value.indexOf(val) == -1) {
	case true:
	{
	    if (elm.value.length > 0) elm.value += ',';
	    elm.value += val;
	} break;

	case false:
	    elm.value = elm.value.replace(new RegExp(',' + val + '|' + val + ',' + '|' + val), '');
	    break;
    }
}

</script>
<link href="css/test.css" rel="stylesheet" type="text/css">
<body leftmargin="1" topmargin="1" marginwidth="1" marginheight="1">
<table cellspacing=1>
<%
rootname = server.mappath("../../browser/pictures")

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(rootname & Dirfolder)
set Files = Folder.Files
For each Item In Files
if not lcase(item.name) = "button.gif" and not lcase(item.name) = "space.gif" then
	response.write	"<tr><td class='none'><img src='../pic.asp?id=@"&item.name&"' alt='"&item.name&"' onclick='addSrc(this.alt)' width='40'></td><td class='none'><font size='1'>"&Item.Name&" <a href='../pic.asp?id="&item.name&"' target='_new'>Click to Enlarge</a></font></td></tr>"
end if
Next

%>
</table>
 </body>
</html>

Det lilla jag har lärt mig inom javascript säger mig att det bör inte vara omöjligt att kunna ordna detta... problemet kan ju vara om man nu skulle ha under mappar... fast det är ett senare problem(kan nog stryras med querystrings)...

Peter SMedlem sedan dec. 20025 484 inlägg
#2

När skall det visas en kant runt bilderna? När man klickar på dem och alttexten hamnar i textrutan?

:)

voigtann1Medlem sedan juni 20018 810 inlägg
#3

ja.. och om alt texten finns redan i textrutan... vet inte ens om det är möjligt.. (om möjligt kanske ändra class på bilderna)

Peter SMedlem sedan dec. 20025 484 inlägg
#4

Ja, att ändra klass på bildernas tabellkolumn är ett sätt. Då kan det se ut så här:

<script type="text/javascript">

function addSrc(obj) {
    var elm = window.dialogArguments.forms['frmAddMessage'].elements["bilder"],
	val = '@' + obj.alt;

    switch (elm.value.indexOf(val) == -1) {
	case true:
	{
	    if (elm.value.length > 0) elm.value += ',';
	    elm.value += val;
	} break;

	case false:
	    elm.value = elm.value.replace(new RegExp(',' + val + '|' + val + ',' + '|' + val), '');
	    break;
    }

    var p = obj.parentNode;
    p.className = p.className == "none" ? "bord" : "none";
}

window.onload = function(){
    var names = window.dialogArguments.forms["frmAddMessage"].elements["bilder"].value.replace(/@/g,"").split(","),
	nLen  = names.length,
	imgs  = document.images,
	iLen  = imgs.length;

    while (iLen--)
	for (var i = 0; i < nLen; ++i)
	    if (imgs[iLen].alt == names[i])
		imgs[iLen].parentNode.className = "bord";
}

</script>

<style type="text/css">

.none{border:1px solid white}
.bord{border:1px solid green}

</style>

<table>
    <tr>
	<td class="none"><img src="bild1.png" height="100" width="140" alt="bild1.png" onclick="addSrc(this)"></td>
	<td class="none"><img src="bild2.png" height="100" width="140" alt="bild2.png" onclick="addSrc(this)"></td>
    </tr>
</table>

:)

voigtann1Medlem sedan juni 20018 810 inlägg
#5

Fungera inte riktigt ändå... kör nu istället en text

<link href="css/test.css" rel="stylesheet" type="text/css">
<style>
  html, body, button, div, input, select, td, fieldset,a { font-family: MS Shell Dlg; font-size: 8pt; };

	.none{color: white;}
	.bord{color: green;font-weight: bold;}
</style>

<body leftmargin="1" topmargin="1" marginwidth="1" marginheight="1" style="background: threedface style="background: threedface; color: windowtext; margin: 10px; BORDER-STYLE: none">
<table cellspacing=2 style='width:100%'>
<%
rootname = server.mappath("../../browser/pictures")
Dirfolder = request.querystring("dir")
myarr = split(dirFolder,"\")

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(rootname & Dirfolder)
set Files = Folder.Files

  For each Item in Folder.SubFolders
    response.write "<tr><td><img src='../pic.asp?id=../admin/images/dir.gif'></TD>" &_
    "<td class='' style='border-right:0px'><font size='2'><a href='" & strScriptname & "?Dir="& Replace(dirfolder&"\"&Item.Name,"\\","\") & "'>" & Item.Name & "</A></font></Td>"

    browser = Browser & "</tr>"
    color = color+1
  Next

For each Item In Files
if not lcase(item.name) = "button.gif" and not lcase(item.name) = "space.gif" then
	response.write	"<tr><td>1<a href='#'><img src='../pic.asp?id=../admin/images/images.gif' onclick='addSrc(this)'  alt='"&item.name&"' border='0'></a></td><td class='none'><font size='0'><a href='#"&item.name&"' aname='"&item.name&"' onclick='addSrc(this)'  alt='"&item.name&"'>"&Item.Name&"</td><td><a href='../../pic.asp?id=@"&item.name&"' target='_new'><img src='../images/enlarge.gif' style='border:0' alt=""Click to enlarge: '"&item.name&"'""></a></font></td></tr>"
end if
Next

%>
</table>
 </body>
</html>

Trodde det skulle räcka med class ändringen.... fast det gör den inte.. som den är nu så blir texten tjock när jag trycker på den... fast om jag stänger ner fönstret och öppnar den igen så är den inte tjock längre..

Genererad på 379 ms · cache AV · v20260730165559-full.f96bc7eb