komplexeres bilderbuch mit (möglichst ausschließlich) javascript

Bierjonny

Grünschnabel
Hallo an alle!

ich habe vor dem erstellen von diesem thread mit der suchhilfe nach verwandten themen gesucht aber irgendwie nicht ganz das gefunden was ich brauche und teilweise auch nur geschlossene threads, zu denen ich nicht antworten konnte. schlagt mich also bitte nicht tod, wenn ich was übersehn hab =O

ich muss eine seite mit einem "bilderbuch" erstellen, in der man sowohl über vor- und zurückpfeile die bilder durchschalten kann, als auch die bilder direkt über thumbnails auswählen kann. ansatzweise hab ich das mithilfe von selfhtml selber lösen können, sprich, ich habe das bilderfeld mit den pfeiltasten in die seite eingebaut, undzwar mit javascript.
hier noch der link zum html-beispiel:

http://de.selfhtml.org/dhtml/beispiele/bilderbuch.htm

wie ich jetzt den rest in die funktion einbinde, weiss ich nicht. meine javascript-kenntnisse reichen grad mal dazu, den aufbau zu verstehen und in vorlagen herumzupfuschen *G*


so soll die seite funktionieren:

rechts vom hauptmenü gibts ein feld á 570x300px als platzhalter für die bilder. unter dem platzhalter gibts die vor- und zurückpfeile zum durchblättern.
das hab ich soweit bereits fertig mit hilfe von selfhtml.
jetzt kommt der witz:
unter den pfeilen gibt es nochmal eine zeile mit den durchblätterbaren bildern als thumbnails. diese thumbnails sind alle entweder transparent oder schwarz-weiss, bis auf das aktive (d.h. das bild, das gerade im platzhalter angezeigt wird), um es als aktiv hervorzuheben. wenn ich also mit den pfeilen weiterblättere, wird auch in der thumbnail-zeile das nächste thumbnail gehighlightet (wasn deutsch *G*).
zugleich kann ich natürlich auch die einzelnen thumbnails anklicken und das zugehörige bild gleich in den platzhalter laden.

es gibt im internet ja genug vorlagen mit bilderbüchern, die man weiterblättern kann, oder solche, die man durch thumbnails bedienen kann, und es gibt vorlagen für bilder, die durch javascript via mouseover gehighlightet.
aber das sind alles separate, von einander unabhängige beispiele. wie bringe ich diese funktionen so zusammen, dass sie nicht nur auf den user reagieren sondern auch sich gegenseitig auslösen wie oben beschrieben?
ist das ausschließlich mit javascript möglich? ich hab ja die halbe sache bereits mit javascript gemacht und daher wärs schön, wenn der rest auch damit ginge, d.h. bitte kein flash oder sowas, was noch mehr ärger bereitet.

ich wäre sehr froh wenn mir jemand da weiterhelfen könnte!

vielen dank im voraus für eure hilfe!
jonny
 
Zuletzt bearbeitet:
Herzlich willkommen hier im Forum und glückwunsch zum ersten Beitrag.

Zuerst mal ist zu sagen, dass du beim Registrieren hier, der Netiquett zugestimmt hast. Darin steht sinngemäß auch, dass wir dich dem Teufel zum Fraß vorwerfen werden und deine ewige Seele im Höllenfeuer schmoren wird, wenn du nicht die gängigen Regeln der deutschen Rechtschreibung, insbesondere Groß-/Kleinschreibregeln, einhälst. :rolleyes:

So jetzt wo das gesagt ist, bereue Sünder, gelobe Besserung und editiere nach Möglichkeit deinen ersten Beitrag dahingehend. Ich bin mir sicher, das auch deine Tastatur mindestens eine Shift-Taste besitzt. Nun zu deinem Problem:

Es würde sehr viel helfen, wenn du mal alles, was du bisher für dieses Bilderbuch geschrieben hast hier Posten würdest. Dann muss jemand, der dir helfen will nicht so viel schreiben und weiß konkret, wie du einige Dinge für die es viele Lösungsmöglichkeiten gibt gelöst hast.
Allgemein ist zu sagen, das Thumbnails schlecht mit Javascript zu machen sind. Da nimmt man meistens eine serverseitige Sprache wie php und für den Rest braucht man einfach ein Grundverständnis von Javascript. Mehr kann ich dir ohne das Script für dich zu schreiben oder deinen bisherigen Code zu kennen nicht sagen.
 
Zuletzt bearbeitet:
Danke für deine Begrüßung und deine Antwort!

Oh, Groß- Kleinschreibung gibts noch? *G*
Also wenn das sooooooo bedeutend ist dann achte ich darauf, bin aber neugierig, was die Gründe dafür sind ;D

Hmm, also mit PHP hab ich noch nicht gearbeitet, aber das scheint nicht viel anders als HTML zu sein, d.h. ich könnte mich damit anfreunden.
Hier aber erst der Code meiner Seite:


Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>iRooms</title>

<!-----------------------------------------------------------------JAVA------------------------------------------------------------------------------>
<script type="text/javascript" src="Scripts/dhtml.js"></script>
<script type="text/javascript">
var Bild = new Array();
Bild[0] = new Image();
Bild[0].src = "Bilder/pic01.jpg";
Bild[1] = new Image();
Bild[1].src = "Bilder/pic02.jpg";
Bild[2] = new Image();
Bild[2].src = "Bilder/pic04.gif";
Bild[3] = new Image();
Bild[3].src = "Bilder/pic05.gif";
Bild[4] = new Image();
Bild[4].src = "Bilder/pic02.jpg";

var bildbereich;
var zeige = 0;
var Breite = 570;
var aktuelleBreite = 570;
var Schrittweite = 0;
var Schrittverzoegerung = 0;

function Blaettern (Richtung) {
  zeige = zeige + Richtung;
  if (zeige > Bild.length - 1) {
    zeige = 0;
  } else if (zeige < 0) {
    zeige = Bild.length - 1;
  }
  if (DOM || MSIE4) {
    bildbereich.style.clip = "rect(0 0 570px 0)";
  } else if (NS4) {
    bildbereich.clip.right = 0;
  }
  if (DOM && bildbereich.firstChild) {
    bildbereich.firstChild.src = Bild[zeige].src;
  } else if (MSIE4) {
    bildbereich.innerHTML = '<img src="' + Bild[zeige].src + '">';
  } else if (NS4) {
    bildbereich.visibility = "hide";
    setContent("id", "Bildbereich", null, '<img src="' + Bild[zeige].src + '">');
    bildbereich.visibility = "show";
  }
  BildAufbauen();
}

function BildAufbauen () {
  if (aktuelleBreite <= Breite) {
    if (DOM || MSIE4) {
      bildbereich.style.clip = "rect(0 " + aktuelleBreite + "px 570px 0)";
    } else if (NS4) {
      bildbereich.clip.right = aktuelleBreite;
    }
    aktuelleBreite = aktuelleBreite + Schrittweite;
    window.setTimeout("BildAufbauen()", Schrittverzoegerung);
  } else {
    aktuelleBreite = 0;
    if (DOM || MSIE4) {
      bildbereich.style.clip = "rect(0 " + Breite + "px 570px 0)";
    } else if (NS4) {
      bildbereich.clip.right = Breite;
    }
  }
}

function Init () {
  bildbereich = getElement("id", "Bildbereich");
  if (DOM && document.createElement && bildbereich.appendChild) {
    var img = document.createElement("img");
    img.setAttribute("src", Bild[0].src);
    bildbereich.appendChild(img);
  } else if (MSIE4) {
    bildbereich.innerHTML = '<img src="' + Bild[0].src + '">';
  } else if (NS4) {
    setContent("id", "Bildbereich", null, '<img src="' + Bild[0].src + '">');
  }
}
</script>


<script type="text/javascript">
Normal1 = new Image();
Normal1.src = "Bilder/player_back.gif";     /* erste Standard-Grafik */
Highlight1 = new Image();
Highlight1.src = "Bilder/player_back_hover.gif"; /* erste Highlight-Grafik */

Normal2 = new Image();
Normal2.src = "Bilder/player_forward.gif";     /* zweite Standard-Grafik */
Highlight2 = new Image();
Highlight2.src = "Bilder/player_forward_hover.gif"; /* zweite Highlight-Grafik */


/* usw. fuer alle weiteren zu benutzenden Grafiken */

function Bildwechsel (Bildnr, Bildobjekt) {
  window.document.images[Bildnr].src = Bildobjekt.src;
}
</script>


<script src="Scripts/dbMenu.js" type="text/javascript">	</script>


<script type="text/javascript">

function NachOben () {
  var y = 0;
  if (window.pageYOffset) {
    y = window.pageYOffset;
  } else if (document.body && document.body.scrollTop) {
    y = document.body.scrollTop;
  }
  if (y > 0) {
    window.scrollBy(0, -20);
    setTimeout("NachOben()", 3);
  }
}
</script>




<!--------------------------------------------------------------------------JAVA ENDE------------------------------------------------------------->
<!----------------------------------------------------------------------------CSS----------------------------------------------------------------->


    <link href="Scripts/print.css" type="text/css" rel="stylesheet" media="print">
	<link href="Scripts/global.css" type="text/css" rel="stylesheet" media="screen">
	<link href="Scripts/dropDown.css" type="text/css" rel="stylesheet" media="screen">

<link href="Scripts/irooms_style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--

body {
	background-image: url(Bilder/main_background.gif);
	background-repeat: repeat-x;
	background-position: left top;}



body {
	margin-left: 0px;
	margin-top: 0px;
}
.style6 {color: #FF3300}
.style12 {font-size: 24px}
body,td,th {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #666666;
}

#Layer1 #Haupttabelle #form1 a {
}
.style16 {font-size: 16px}
.style19 {color: #666666; font-weight: bold; }
#Bildbereich {
	position:absolute;
	width:570;
	height:300;
	left: 150;
	top: 65;
	visibility: show;
}
.style20 {color: #666666}
.style22 {
	color: #999999;
	font-size: 9px;
}

-->
</style>


<!------------------------------------------------------------------CSS ENDE----------------------------------------------------------->

<link rel="icon" type="image/ico" href="Bilder/favicon.ico">
<link rel="shortcut icon" href="Bilder/favicon.ico">
</head>



<body onLoad="Init()">


<!------------------------------------------------------------------ANFANG Tabelle------------------------------------------------------>

<table width="900" border="0" cellpadding="0" cellspacing="0" id="Haupttabelle">
  <tr>
    <td width="20" height="65"><img src="Bilder/unsichtbar.gif" alt="-" width="20" height="65" /></td>
    <td width="130" height="65">&nbsp;</td>
    <td width="28" valign="bottom">&nbsp;</td>
    <td width="562" height="65" valign="bottom" class="style1 style12"><span class="style20">conexion</span><span class="style6">19</span></td>
    <td width="161" height="65" valign="top"><a href="haupt.html"><img src="Bilder/logo_iRooms.gif" alt="d" name="iRooms" width="160" height="65" border="0" id="iRooms" longdesc="http://www.irooms.de" /></a></td>
  </tr>
  
  <tr>
    <td width="20" height="300" bgcolor="#E2DACD">&nbsp;</td>
    <td valign="top" bgcolor="#E2DACD"><table width="130" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><img src="Bilder/unsichtbar.gif" alt="-" width="20" height="20" /></td>
        </tr>
        <tr>
          <td height="23" valign="top"><a href="firma.html" class="menue"> FIRMA</a> </td>
        </tr>
        <tr>
          <td height="23" valign="top"><a href="produkte.html" class="menue"> PRODUKTE</a></td>
        </tr>
        <tr>
          <td height="23" valign="top"><a href="projekte.html" class="menue"> PROJEKTE</a></td>
        </tr>
        <tr>
          <td height="23" valign="top"><a href="service.html" class="menue"> SERVICE</a></td>
        </tr>
        <tr>
          <td height="23" valign="top"><a href="kontakt.html" class="menue"> KONTAKT</a></td>
        </tr>
        <tr>
          <td valign="top">&nbsp;</td>
        </tr>
        <tr>
          <td valign="top">&nbsp;</td>
        </tr>
        <tr>
          <td valign="top"><a href="conexion19.html" class="submenue"><img src="Bilder/arrow_r.gif" width="10" height="7" border="0" />conexion 19</a></td>
        </tr>
        <tr>
          <td valign="top"><a href="morph.html" class="submenue"><img src="Bilder/arrow_r.gif" width="10" height="7" border="0" />morph</a></td>
        </tr>
        <tr>
          <td valign="top"><a href="iooo.html" class="submenue"><img src="Bilder/arrow_r.gif" width="10" height="7" border="0" />iooo</a></td>
        </tr>
        <tr>
          <td valign="top"><a href="wespeak.html" class="submenue"><img src="Bilder/arrow_r.gif" width="10" height="7" border="0" />wespeak</a></td>
        </tr>
        <tr>
          <td valign="top"><a href="wemeet.html" class="submenue"> <img src="Bilder/arrow_r.gif" width="10" height="7" border="0" />wemeet</a></td>
        </tr>
        <tr>
          <td valign="top"><a href="atlas.html" class="submenue"><img src="Bilder/arrow_r.gif" width="10" height="7" border="0" />atlas</a></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
        </tr>
    </table></td>
    <td colspan="2" align="left" valign="top"><table width="590" height="300" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="565" align="left" valign="top">&nbsp;</td>
        <td width="10" align="left" valign="top"><img src="Bilder/unsichtbar.gif" alt="-" width="20" height="20" /></td>
        </tr>
    </table></td>
    <td valign="top"><table width="160" height="20" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td>&nbsp;</td>
      </tr>
    </table>      
      <table width="160" border="0" cellpadding="5" cellspacing="0" bordercolor="#E7E0D4" bgcolor="" class="rightbox">
        <tr>
          <td width="160" valign="top"><table width="146" border="0" cellpadding="2" cellspacing="0">
            <tr>
              <td bgcolor="#E2DACD"><span class="style19">Projekt des Monats</span></td>
            </tr>
            <tr>
              <td>Messestand SMSC in Baden-Baden <a href="haupt.html"><br />
                 <a href="haupt.html"><img src="Bilder/arrow2_r.gif" width="12" height="7" border="0">mehr</a></td>
            </tr>
          </table></td>
        </tr>
      </table>
      <table width="160" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="160" height="10">&nbsp;</td>
        </tr>
      </table>
      <table width="160" border="0" cellpadding="5" cellspacing="0" class="rightbox">
        <tr>
          <td valign="top"><table border="0" cellspacing="0" cellpadding="2">
            <tr>
              <td bgcolor="#E2DACD"><span class="style19">News</span></td>
            </tr>
            <tr>
              <td>iRooms auf der M&ouml;belmesse in K&ouml;ln<br />                
              <span class="style3"><a href="haupt.html"><img src="Bilder/arrow2_r.gif" width="12" height="7" border="0" />mehr</a></span></td>
            </tr>
          </table></td>
        </tr>
      </table>
      <table width="160" height="10" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td width="160" height="10">&nbsp;</td>
        </tr>
      </table>
      <table width="160" border="0" cellpadding="5" cellspacing="0" class="rightbox">
        <tr>
          <td valign="top"><table border="0" cellspacing="0" cellpadding="2">
            <tr>
              <td bgcolor="#E2DACD"><span class="style19">Jobs</span></td>
            </tr>
            <tr>
              <td>Wir suchen Vertriebsmitarbeiter<br />                
              <span class="style3"><a href="haupt.html"><img src="Bilder/arrow2_r.gif" width="12" height="7" border="0" />mehr</a></span></td>
            </tr>
          </table></td>
        </tr>
      </table></td>
  </tr>
  <tr>
    <td rowspan="4" valign="bottom">&nbsp;</td>
    <td height="20" align="left" valign="middle" nowrap>
	
	<ul id="menu" class="dbMenu onMouse">
   		<li class="subMenu"><img src="Bilder/arrow_u.gif" width="13" height="10">language
                  <ul>
		<li><img src="Bilder/unsichtbar.gif" width="13" height="14"><a href="dt_haupt.html">Deutsch</a></li>
        <li><img src="Bilder/unsichtbar.gif" width="13" height="14"><a href="en_haupt.html">English</a></li>
        <li><img src="Bilder/unsichtbar.gif" width="13" height="14"><a href="haupt.html">Francais</a></li>
		<li><img src="Bilder/unsichtbar.gif" width="13" height="14"><a href="haupt.html">Espanol</a></li>
		<li><img src="Bilder/unsichtbar.gif" width="13" height="14"><a href="haupt.html">Italiano</a></li>
		<li><img src="Bilder/unsichtbar.gif" width="13" height="14"><a href="haupt.html">Nipon</a></li>
            </ul>
		</li>
   	  </ul>
	
	</td>
    <td align="left" valign="top">&nbsp;</td>
    <td align="left" valign="top"><table width="543" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="458" height="20" align="right">
		
		
   </td>
        <td width="34" align="right" valign="middle">
		
		<a href="javascript:Blaettern(-1)"
   onmouseover="Bildwechsel(20, Highlight1)"
   onmouseout="Bildwechsel(20, Normal1)"><img src="Bilder/player_back.gif"
   width="20" height="15" border="0" alt="Home"></a>
   
   </td>
        <td width="15" align="center" valign="middle" class="style22"><a href="haupt.html"></a></td>
        <td width="36" align="left" valign="middle"><a href="javascript:Blaettern(1)"
   onmouseover="Bildwechsel(21, Highlight2)"
   onmouseout="Bildwechsel(21, Normal2)"><img src="Bilder/player_forward.gif"
   width="20" height="15" border="0" alt="Home"></a></td>
      </tr>
    </table></td>
    <td align="left" valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td height="20" align="left" valign="top">&nbsp;</td>
    <td height="20" colspan="2" align="left" valign="top"><p class="style16"><img src="Bilder/unsichtbar.gif" width="20" height="20" /></p>      </td>
    <td height="20" align="left" valign="top">&nbsp;</td>
  </tr>
  

  <tr>
    <td align="left" valign="top">&nbsp;</td>
    <td height="200" colspan="2" align="left" valign="top"><table width="570" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td align="left" valign="top"><a href="#" onMouseOver="change(id='bildbereich', pic01_mini.jpg)"><img src="Bilder/pic01_minisw.jpg" height="40" border="0"></a></td>
        <td width="20" align="left" valign="top">&nbsp;</td>
        <td><a href="haupt.html"><img src="Bilder/pic02.jpg" height="40" border="0"></a></td>
        <td width="20">&nbsp;</td>
        <td><a href="haupt.html"><img src="Bilder/pic04.gif" height="40" border="0"></a></td>
        <td width="20">&nbsp;</td>
        <td><a href="haupt.html"><img src="Bilder/pic05.gif" height="40" border="0"></a></td>
        <td width="20">&nbsp;</td>
        <td><a href="haupt.html"><img src="Bilder/pic01_mini.jpg" height="40" border="0"></a></td>
        <td width="20">&nbsp;</td>
        <td><a href="haupt.html"><img src="Bilder/pic02.jpg" height="40" border="0"></a></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table>
    <p>&nbsp;</p>
      <p><strong>Beschreibung</strong><br />
        conexion19  w&auml;chst mit Ihren Anspr&uuml;chen und Ihren M&ouml;glichkeiten. Bei conexion19  kann man mit unbehandelten MDF-Platten anfangen und 
      bei hochglanzlackierten Oberfl&auml;chen aufh&ouml;ren. Es ist ein modulares Baukastensystem, das 
      jedesmal anders aufgebaut werden kann. Immer flexibel und immer <br />
      so wie Sie es w&uuml;nschen. 
      Einfach die ausgew&auml;hlten Platten und St&auml;be mit den Verbindern verklemmen <br />
      und der Bausatz 
      passt sich &bdquo;im Handumdrehen&ldquo; ihrer Umgebung an. <br />
      <br />
		 <strong>Merkmale</strong><br />
	    T&uuml;ren, Schubladen, R&uuml;ckw&auml;nde einsetzbar<br />
	    jederzeit erweiterbar und umbaubar<br />
	    alle Gr&ouml;&szlig;en, Formen und Winkel realisierbar<br />
	    einspannbare Plattendicken von 0 -19mm<br />
	    einfache Express-Montage<br />
	    schraubenloses System</p>
      <p><a href="http://www.irooms.de" target="_blank">http://www.irooms.de</a><br />
        weltweit patentiert<br />
      </p>
    </td>
    <td align="left" valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td height="20" colspan="2">&nbsp;</td>
    <td height="20">&nbsp;</td>
  </tr>
</table>


<div id="Bildbereich"></div>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="20" align="left" bgcolor="#837B70"><table width="900" height="20" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="150">&nbsp;</td>
        <td width="60"><a href="haupt.html" class="bottommenue">home </a></td>
        <td width="70"><a href="haupt.html" class="bottommenue">impressum</a></td>
        <td width="182" align="right">&nbsp;</td>
        <td width="49" align="right">&nbsp;</td>
        <td width="99" align="right" valign="middle">
		<a href="javascript:window.print()"  class="bottommenue"><img src="Bilder/druck.gif" width="20" height="11" border="0" align="absmiddle" class="bottommenue" />drucken</a></td>
        <td width="110" align="right" valign="middle"><a href="firma.html" class="menue"></a><a href="mailto:?subject=Seitenempfehlung&amp;body=Das%20sollten%20Sie%20gesehen%20haben:%0A%0Ahttp://www.irooms.de/haupt.html" class="bottommenue"><img src="Bilder/mail.gif" width="30" height="11" border="0" align="absmiddle" />senden</a></td>
        <td width="180" align="center"><a href="javascript:NachOben()" class="bottommenue"><img src="Bilder/oben.gif" width="20" height="11" border="0" align="absmiddle" />nach oben</a></td>
      </tr>
    </table>
    </td>
  </tr>
</table>
</body>
</html>



Erläuterung:
Die Seite habe ich mithilfe von Dreamweaver 8 erstellt. Ich arbeite vorzugsweise teils im Code und teils in der Ansicht.
Oben hab ich übersichtshalber den Javascript-Bereich, den CSS-Bereich und den HTML-Tabellenbereich mit gestrichelten Linien getrennt. Im Javascript-Bereich habe ich die einzelnen Funktionen, die nichts miteinander zu tun haben (Bilderbuch, Dropdown-Menü, Druckfunktion) separat mit dem script-Tag umklammert, auch das der Ordnung halber.
Den Platzhalter für die Bilder habe ich so wie im selfhtml-Vorschlag mit dem div-Tag auf einen extra Layer gebracht, damit er die Tabelle nicht verrunzelt und zudem eine id bekommt, mit der der Platzhalter dem Javascript zugeordnet werden kann.

Ich glaub zwar nicht, dass die externe CSS-Datei relevant ist, aber sicherheitshalber kopiere ich die auch noch hier rein:

ANFANG CSS-CODE
Code:
body {
	
  scrollbar-base-color:#E2DACD;
  scrollbar-3d-light-color:#FAFAFA;
  scrollbar-arrow-color:#666666;
  scrollbar-darkshadow-color:#E2DACD;
  scrollbar-face-color:#EFEAE2;
  scrollbar-highlight-color:#FAFAFA;
  scrollbar-shadow-color:#E2DACD;
  scrollbar-track-color:#FFFFFF;

}
a:link {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: normal;
	color: #999999;
	font-style: normal;
	font-variant: normal;
	text-transform: none;
	text-decoration: none;
}
a:visited {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #999999;
	text-decoration: none;
}
a:hover {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #FF3300;
	text-decoration: none;
}
a:active {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #FF3300;
	text-decoration: none;
}


a.menue:link {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #666666;
	font-style: normal;
	font-variant: normal;
	text-transform: none;
	text-decoration: none;
}
a.menue:visited {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-style: normal;
	line-height: normal;
	font-weight: bold;
	font-variant: normal;
	text-transform: none;
	color: #666666;
	text-decoration: none;
}
a.menue:hover {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-style: normal;
	line-height: normal;
	font-weight: bold;
	font-variant: normal;
	text-transform: none;
	color: #FF3300;
	text-decoration: none;
}
a.menue:active {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-style: normal;
	line-height: normal;
	font-weight: bold;
	font-variant: normal;
	text-transform: none;
	color: #FF3300;
	text-decoration: none;
}


a.submenue:link {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: normal;
	color: #666666;
	font-style: normal;
	font-variant: normal;
	text-transform: none;
	text-decoration: none;
}
a.submenue:visited {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #666666;
	text-decoration: none;
}
a.submenue:hover {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #FF3300;
	text-decoration: none;
}
a.submenue:active {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #FF3300;
	text-decoration: none;
}

a.bottommenue:link {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: normal;
	color: #FFFFFF;
	font-style: normal;
	font-variant: normal;
	text-transform: none;
	text-decoration: none;
}
a.bottommenue:visited {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #FFFFFF;
	text-decoration: none;
}
a.bottommenue:hover {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #000000;
	text-decoration: none;
}
a.bottommenue:active {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #000000;
	text-decoration: none;
}

a.bildpfeil:link {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 20px;
	font-weight: normal;
	color: #999999;
	font-style: normal;
	font-variant: normal;
	text-transform: none;
	text-decoration: none;
}
a.bildpfeil:visited {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 20px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #999999;
	text-decoration: none;
}
a.bildpfeil:hover {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 20px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #FF3300;
	text-decoration: none;
}
a.bildpfeil:active {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 20px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: #FF3300;
	text-decoration: none;
}

.rightbox {
	border: 0;
}



Ich hoffe ich hab nichts vergessen!

Danke nochmal für deine Hilfe
Grüße
Jonny
 
Zuletzt bearbeitet:
Okay, gehe jetzt zur Uni, aber danach werde ich mir dein Script mal ansehen.

Gründe für Groß-/Kleinschreib-Zwang hier sind, dass sie a) Nunmal ein Teil der deutschen Sprache ist und b) Es sich einfach leichter lesen lässt

Bitte schreibe auch in Zukunft deinen Code in solche Lustigen Code-Blöcke wie diesen hier:
HTML:
<html><head><title>Beispiel</title></head>

    <body>
        <p> Ich bin ein Beispiel </p>
    </body>

</html>
Auch das trägt zur Lesbarkeit bei. Du willst ja, dass wir dir helfen die meisten Leute schreckt aber sinnlose Extrarbeit ab und es ist Arbeit etwas unübersichtliches zu entziffern.

Also nach der Uni, schau ich's mir mal an, wenn es bis dahen in Code-Blöcke gesetzt ist (einer der Buttons im Editor oder BBcode-Tags).
 
Zuletzt bearbeitet:
Hmmm, komisch. Ich wurde per Mail über deinen neuen Beitrag informiert, aber hier im Forum wird er nicht angezeigt, da hat wohl jemand gründlich aufgeräumt ;D
Naja, aber ich hab deinen Beitrag in der Mail gelesen, von daher weiss ich Bescheid ;-)

Ok, ich werde dann solange versuchen, anderswo zusätzlich um Hilfe zu bitten, wobei ich nicht glaub, dass sich so schnell noch jemand finden lässt.
Ich baue die Website im Rahmen meines Pflichtpraktikums für ein kleines Architekturbüro. Solange der Cheffe nicht meint, dass ich das lassen soll, weil es nur Zeitverschwendung ist, probier ich weiterhin irgendwie selbst drauf zu kommen.
Wenn es nicht klappt und ich auch keinen Ersatzmann finde, bist du aber meine letzte Hoffnung :C

Vielen Dank für deine Hilfe, und bis demnächst!

Grüße,
Jonny
 
Zuletzt bearbeitet:
Hallo Jonny

Ich konnte zwar aus deiner Frage nicht genau herauslesen ob du selber ein Bilderbuch machen willst oder einfach eines brauchst :rolleyes:

Ich habe schon auf ein paar Webseiten mit der Bildergalerie Pixlie gearbeitet und bin sehr zufrieden damit. Sehr einfach zu bedienen und auch anzupassen. Pixlie ist komplett werbefrei und man darf sehr viel damit machen. Die Lizenzierung kannst du hier nachschauen.

Wenn du eine eigene Bildergalerie programmieren willst, kannst du dich bestimmt auch von Pixlie inspirieren lassen ;)

Gruss Rambomaster
 
Oh mist, hab gestern vergessen den Post abzuschicken bevor ich das Fenster schließe. War etwas gestresst, sorry.
Also jetzt nochmal ganz schnell:

Hut ab, Rambomaster, PIXLIE ist ja mal n tolles Programm! So toll, dass ich garnicht durchblicke :C
Deshalb kann ich damit nichts anfangen. Ich weiss nicht was ich vom Code übernehmen könnte, weil ich da nur Bahnhof verstehe. Das Programm hat viel mehr Funktionen als das was ich brauche, aber von dem was ich brauche, fehlt manches wiederum in Pixlie.
1:1 kann ich es deshalb nicht übernehmen, weil das Bilderbuch, dass ich einbauen soll, im Design eingebunden sein muss, d.h. alles hat seinen vorbestimmten Platz, Form, Farbe.
Der Architekt, bei dem ich gerade mein Pflichtpraktikum mache, hat gezielte Vorstellungen davon, wie die Seite funktionieren soll.
Mir geht es dabei lediglich darum, wie ich von der Programmierung her eine Lösung finde.

Was ich bis jetzt habe, ist ein Bilderbuch, in dem man die Bilder durch Pfeilbuttoms vor und zurück blättern kann.
Was noch fehlt ist eine Programmierung, mit der ich eine Leiste mit Thumbnails einbauen kann, über die ich einzelne Bilder direkt in den Hauptbildbereich laden kann. Zugleich soll, egal ob ich über die Pfeilbuttons durchblättere oder durch die Thumbnails auf ein Bild klicke, in der Thumbnail-Leiste immer angezeigt werden, welches Bild gerade im Hauptbildbereich ist, ob durch Rahmen, farbliche Absetzung o.ä..

D.h. es müssen noch zwei Funktionen her:

1.) Wenn Bild_x.jpg im Bildbereich >> highlight Bild_x_thumbnail.jpg
2.) Wenn Bild_x_thumbnail.jpg angeklickt >> lade Bild_x.jpg in Bildbereich.


Vielen Dank für dein Bemühen, mir zu helfen! Vielleicht kennst du ja einen einfachen Trick, wie man das anstellt.

Grüße,
Jonny
 
Schade dass du mit Pixlie nicht viel anfangen kannst, aber das ist auch ziemlich schwer das Ding in ein eigenes Design einzubauen.

Zu deinem Problem:
Ich würde das mit einem mehrdimensionalen Array versuchen.

Zum Beispiel so:
Code:
var Bilder = new Array();
Bilder[0]['image'] = new Image();
Bilder[0]['thumbnail'] = new Image();
Bilder[1]['image'] = new Image();
Bilder[1]['thumbnail'] = new Image();

So hast du zu jedem Bild eine ID mit dazugehörigem Image und Thumbnail. Wenn du jetzt eine Liste mit den Thumbnails machen willst musst du einfach durch das Bilder-Array durchiterieren und nur die Thumbnails auslesen. Beim Klick lädst du dann das Image in den vorgesehenen Bereich. Da du mit der ID arbeitest kannst du auch ohne Probleme irgend ein Higlight-Effekt auf das Thumbnail legen.

Ich hoffe ich konnte dir ein bisschen weiterhelfen.

Gruss Rambomaster
 
Ah, das klingt ja schon mal richtungsweisend. Morgen früh probier ich im Büro damit herum. Aber dazu muss ich mich erstmal intensiver in Javascript einarbeiten. Hoffentlich bringt mein Arbeitgeber Geduld mit ;D


Vielen Dank für den Tipp
 
Also ich würde dir ja vorschlagen, was eigenes zu schreiben. Dann kannst du es auch selber anpassen und verändern, lernst dabei noch Javascript und hast genau das, was du willst. Dazu ein paar Grundzüge:

Thumbnails machst du am besten mit einem php-Script. Ich weiß du wolltest möglichst nur Javascript, aber Javascript kann einfach keine echten Tumbnais erzeugen sondern nur skalieterte Originalbilder. Besonders bei hochaufgelösten Bildern ist das sehr störend. Da ich die Aufgabe auch schonmal hatte, habe ich noch ein soches php-Script bei mir ausgegraben (siehe Anhang "pic.php.zip"). War aber Eigenproduktion - keine Ahnung, ob es heute noch halbwegs brauchbar ist. Wenn nicht gibt es sicher tausende php-Seiten mit ähnlichen Scripts.
Man kann es wie ein normales Bild einbinden:
HTML:
<img src="pic.php?pic=bild.jpg&width=200&height=100" />
Der obige Code würde also ein Bild mit Filename "bild.jpg" auf 200x100 Pikel skalieren. Man kann nur height oder nur width angeben, der andere Wert wird dann ensprechend runterskaliert, so dass das Seitenverhältnis erhalten bleibt bzw. man kann es auch um 59% ö.Ä. verkleinern ( "proportion=59" statt "width=...&heigt=...").
So damit wären schon die Thumbnails totgeschlagen.

Nun zum eigentlichen Thema. Du hast ein Hauptbild, dass ganz groß dargestellt wird, dann Buttons mit denen du zu zum nächsten und vorherigen Bild kommen kannst und noch eine Anzahl an Thumbnails, die man auch direkt anklicken kann, so dass sie zum großen Bild werden. Das html-Gerüst wäre also jenes (in einer sehr runtergekochten Variante):
HTML:
<img id="mainImgage" src="bild0.jpg" />
<a href="#" id="formerImage" onclick="return showImage(-1);">Vorheriges Bild</a>
<a href="#" id="nextImage" onclick="return showImage(1);">Nächstes Bild</a>

<div id="thumbs">
   <img src="pic.php?pic=bild1.jpg&width=50&heigt=50" onclick="showImage(1)" />
   <img src="pic.php?pic=bild2.jpg&width=50&heigt=50" onclick="showImage(2)" />
   <img src="pic.php?pic=bild3.jpg&width=50&heigt=50" onclick="showImage(3)" />
   <img src="pic.php?pic=bild4.jpg&width=50&heigt=50" onclick="showImage(4)" />
</div>

Nun fehlt noch das Javascript oder besser die Funktion "showImage()", die bei Klick auf ein Thumbnail oder auf einen der Links das Hauptbild, die Links und die thumbs verändert. Auch die Koche ich so ein, dass du das Prinzip verstehst. Konkret auf deine Bedürfnisse anpassen und Features hinzufügen musst du natürlich selber, denn erstens wollen wir ja nicht deine Arbeit machen und zweitens sollte man die Javascript-Grundkenntnisse hier eh mitbringen:
Javascript:
// Array mit den urls zu den Bildern
var images = [
    'bild0.jpg'
    'bild1.jpg',
    'bild2.jpg',
    'bild3.jpg',
    'bild4.jpg',
    'bild5.jpg',
    'bild6.jpg',
    'bild7.jpg',
    'bild8.jpg',
    'bild9.jpg',
    'bild10.jpg'
];

function showImage(imageNumber) {
    // Keine negativen Bildnummern oder Bildnummer zu denen
    //+es kein Bild gibt zulassen
    if( imageNumber < -1 || imageNumber > images.length ) imageNumber = 0;
    if( imageNumber == -1 || imageNumber == images.length ) return false;

    // Hauptbild anpassen
    document.getElementById('mainImage').src = images[imageNumber];

    // Links anpassen
    document.getElementById('formerImage').onclick = 
        new Function('return showImage('+ (imageNumber-1) +')');
    document.getElementById('nextImage').onclick = 
        new Function('return showImage('+ (imageNumber+1) +')');

    //Thumbs anpassen
    obj = document.getElementById('thumbs');
    obj.innerHTML = '';
    for( i=1; i<5; i++ ) {
        if( images[imageNumber+i] ) {
            obj.innerHTML += '<img src="pic.php?pic='+ images[imageNumber+i] 
                +'&width=50&heigt=50" onclick="showImage('+ (imageNumber+i) +')" />';
        }
    }
    return false;
}
Habe das Script und das html jetzt nicht getestet. Könnten noch einige kleinere Fehler drin sein. Das Prinzip sollte jedenfalls ersichtlich sein.
Du wirst sicher auch Tumbnail-Bilder vor dem akutellen haben wollen und wirst auch sicher dort wo du das "pic.php"-Script verwendest auch die URLs escapen müssen. Alle Bilder und Thumbs beim window.onload schonmal vorab zu Laden wäre auch eine Option, falls deine User die Ladezeiten nerven (dazu findest du sicher einiges in der Forensuche).
Das kannst du aber dann alles selber bewerkstelligen und dir das nötige Wissen bei SELFHTML oder so anlesen. Hier steht jetzt mal das Grundgerüst.
 

Anhänge

  • pic.php.zip
    518 Bytes · Aufrufe: 25
Zuletzt bearbeitet:

Neue Beiträge

Zurück