Avatar billede jokeren25 Nybegynder
16. februar 2006 - 21:33 Der er 8 kommentarer og
1 løsning

Drop menu der viser thumb

Hej experter,

jeg har lavet en drop menu der viser indholdet af en mappe(text). Det jeg gerne vil er at når et punkt i menuen bliver valg viser den et lille thumb af filen. Jeg har koden til at vise billeder og koden til at lave menu men kan ikke finde ud af at bikse lortet sammen så det virker.

Tror problemet er hvad jeg skal skrive i onchange="???";

Et eksempel på det jeg ønsker mig kan ses halv vejs ned på denne side; http://demo.toendacms.com/?id=aec5b&s=k2 (under showcase)

Således ser min kode ud lige pt;

<?
//åbner mappen filles og viser thumbnail af alle billeder i mappen
chdir(".");
if ($dir = dir("files"))
{
$dir -> rewind();

while ($fileimg = $dir->read())
{
if($fileimg == "." || $fileimg == ".." || $fileimg == "index.php" || $fileimg == "index.php.bak"
|| $fileimg == "tumb")
{
continue;
}

if(is_dir($fileimg))
{
echo "<BR><A HREF=\"$file\"><IMG src='mappe.jpg'> $file</A>\n";
}
else $files[] = $fileimg;
}

$dir -> close;

echo "";
for ($i=0; $i<count($files); $i++)
{

/*Viser thumbsnails af billederne i mappen
echo "<a href=\"files/$files[$i]\"> <IMG src=\"files/$files[$i]\" style=\width=\"100\" height=\"70\" border=\"0\" alt=\"$files[$i]\"></A>\n";
*/

}
}
else echo("couldn't open dir");
?>

<?php
/* Henter oplysninger fra mappen 'files' og laven en drop menu med liste af billedernes navne som ligger i mappen*/
$dir = "files";
if (is_dir($dir))
{
  if ($dh = opendir($dir))
  {
 
 
echo '<select input type="text" name="standard" onchange="Vis billedet som bliver valgt";><option></option>';
     
      while (($file = readdir($dh)) !== false) 
      {   
       
        if (in_array($file, array(".","..","index.php","tumb","news.add.php","form.handle.php", "inc.limited_access.php"))) continue;

        echo "<option>$file</option>";
       
      }
echo"</select>";

      closedir($dh);
  }
}

?>
Avatar billede yezbarh Nybegynder
16. februar 2006 - 21:36 #1
echo '<select input type="text" name="standard" onchange="show(this.value);"><option></option>';
     
      while (($file = readdir($dh)) !== false) 
      {   
       
        if (in_array($file, array(".","..","index.php","tumb","news.add.php","form.handle.php", "inc.limited_access.php"))) continue;

        echo "<option value=\"" . $file . "\">" . $file . "</option>";
       
      }
echo"</select>";

      closedir($dh);
  }
}

-- også:
<div id="picViewer" style="display:none;"></div>

-- samt funktionen:

<script type="text/javascript">
function show(pic)
{
  document.getElementById('picViewer').innerHTML = "<img src='" + pic + "' alt='" + pic + "'>";
}
</script>

!o]

--
yezbarh
Avatar billede jokeren25 Nybegynder
16. februar 2006 - 21:43 #2
Den skriver document.getElementById('picViewer').innerHTML er NULL eller ikke et objekt.

ellers mange tak for det hurtige svar ;)
Avatar billede jokeren25 Nybegynder
16. februar 2006 - 21:46 #3
How måske fordi jeg ikke har sat <div id="picViewer" style="display:none;"></div> men hvor skal det sættes?
Avatar billede yezbarh Nybegynder
16. februar 2006 - 21:49 #4
<div id="picViewer" style="display:none;"></div>


<script type="text/javascript">
function show(pic)
{
  document.getElementById('picViewer').style.display = "block";
  document.getElementById('picViewer').innerHTML = "<img src='" + pic + "' alt='" + pic + "'>";
}
</script>

<?
//åbner mappen filles og viser thumbnail af alle billeder i mappen
chdir(".");
if ($dir = dir("files"))
{
$dir -> rewind();

while ($fileimg = $dir->read())
{
if($fileimg == "." || $fileimg == ".." || $fileimg == "index.php" || $fileimg == "index.php.bak"
|| $fileimg == "tumb")
{
continue;
}

if(is_dir($fileimg))
{
echo "<BR><A HREF=\"$file\"><IMG src='mappe.jpg'> $file</A>\n";
}
else $files[] = $fileimg;
}

$dir -> close;

echo "";
for ($i=0; $i<count($files); $i++)
{

/*Viser thumbsnails af billederne i mappen
echo "<a href=\"files/$files[$i]\"> <IMG src=\"files/$files[$i]\" style=\width=\"100\" height=\"70\" border=\"0\" alt=\"$files[$i]\"></A>\n";
*/

}
}
else echo("couldn't open dir");
?>

<?php
/* Henter oplysninger fra mappen 'files' og laven en drop menu med liste af billedernes navne som ligger i mappen*/
$dir = "files";
if (is_dir($dir))
{
  if ($dh = opendir($dir))
  {
 
 
echo '<select input type="text" name="standard" onchange="Vis billedet som bliver valgt";><option></option>';
     
      while (($file = readdir($dh)) !== false) 
      {   
       
        if (in_array($file, array(".","..","index.php","tumb","news.add.php","form.handle.php", "inc.limited_access.php"))) continue;

        echo "<option>$file</option>";
       
      }
echo"</select>";

      closedir($dh);
  }
}

?>
Avatar billede jokeren25 Nybegynder
16. februar 2006 - 22:04 #5
Det er meget meget tæt på at virke, mangler bare at den finder kilden til billederne og viser dem. Er det under "<img src='" + pic + "' alt='" + pic + "'>"; jeg skal skrive hvilken mappe de skal ligge i?

Jeg klikket på accepter svar med der sker ikke noget??? Mange tak for hjælpen!!!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript">
function show(pic)
{
  document.getElementById('picViewer').style.display = "block";
  document.getElementById('picViewer').innerHTML = "<img src='" + pic + "' alt='" + pic + "'>";
}
</script>
</head>

<body>
<div id="picViewer" style="display:none;"></div>




<?
//åbner mappen filles og viser thumbnail af alle billeder i mappen
chdir(".");
if ($dir = dir("files"))
{
$dir -> rewind();

while ($fileimg = $dir->read())
{
if($fileimg == "." || $fileimg == ".." || $fileimg == "index.php" || $fileimg == "index.php.bak"
|| $fileimg == "tumb")
{
continue;
}

if(is_dir($fileimg))
{
echo "<BR><A HREF=\"$file\"><IMG src='mappe.jpg'> $file</A>\n";
}
else $files[] = $fileimg;
}

$dir -> close;

echo "";
for ($i=0; $i<count($files); $i++)
{

/*Viser thumbsnails af billederne i mappen
echo "<a href=\"files/$files[$i]\"> <IMG src=\"files/$files[$i]\" style=\width=\"100\" height=\"70\" border=\"0\" alt=\"$files[$i]\"></A>\n";
*/

}
}
else echo("couldn't open dir");
?>

<?php
/* Henter oplysninger fra mappen 'files' og laven en drop menu med liste af billedernes navne som ligger i mappen*/
$dir = "files";
if (is_dir($dir))
{
  if ($dh = opendir($dir))
  {
 
 
echo '<select input type="text" name="standard" onchange="show(this.value)";><option></option>';
     
      while (($file = readdir($dh)) !== false) 
      {   
       
        if (in_array($file, array(".","..","index.php","tumb","news.add.php","form.handle.php", "inc.limited_access.php"))) continue;

        echo "<option>$file</option>";
       
      }
echo"</select>";

      closedir($dh);
  }
}

?>
</body>
</html>
Avatar billede jokeren25 Nybegynder
16. februar 2006 - 22:05 #6
Så fik du point..
Avatar billede yezbarh Nybegynder
16. februar 2006 - 22:05 #7
"<img src='MAPPE/" + pic + "' alt='" + pic + "'>";

markere mit navn og tryk acceptere !o]

--
yezbarh
Avatar billede yezbarh Nybegynder
16. februar 2006 - 22:05 #8
- og tak for points !o]
glad for jeg kunne hjælpe dig

--
yezbarh
Avatar billede jokeren25 Nybegynder
16. februar 2006 - 22:19 #9
Det driller desværre lidt stadig, tror det er her men er ikke sikker? "<img src='files/" + pic + "' alt='" + pic + "'>"; Den viser et lille thumb men kan ikke finde billedet
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