SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

SOFTWARE

Linklisten, am liebsten, wie der Browser will, dunkelblau und unterstrichen, sehen auf Dauer nicht sehr anziehend aus. Für die Navigation innerhalb von Sites haben sich mehr oder weniger aufwendige Menüs durchgesetzt. Dabei muß man, wenn es um sehr viele Einträge geht, auf Pulldown-Menüs zurückgreifen, die an anderer Stelle besprochen werden. Hier soll es um die "Belebung" normaler Menüs gehen, wobei die Grenzen zwischen Menü-Arten natürlichfließend sind. Im Internet, in Zeitschriften und Bücherngibt es eine Vielzahl von Vorschlägen dazu, allerdingsauch das kleine süße Problem, daß vieledavon nur in einem Großbrowser funktionieren. Ichkann nicht verstehen, wozu das gut sein soll. 


Schrift-Link, Veränderung-der Schrift unter derMaus

Diese Sorte der Hervorhebung von Links sieht man selten,in den meisten Büchern und Kursen fehlen Vorschlägedazu. Der Grund: Es gibt keine einfache Möglichkeit,dies in beiden Großbrowsern zu realisieren. Ein weitererNachteil: Die Manipulation der Links stört zunächstdie eingebaute Farbverwaltung der Browser, die z. B. besuchteLinks farblich unterscheidet. Mit einiger Mühe könnteman das vielleicht auch noch in den Griff kriegen.
Nun ist es kein großes Problem, in Abhängigkeitvom Browser den Code zu differenzieren. Es folgt ein kurzgehaltener Vorschlag. Er bedient zufällig fast alleBrowser der Welt gleich gut. Wenn es ein Netscape-Browser<5ist, kennt er layer und tut es mit ihnen, wenn es ein modernerIExplorer oder auch Netscape6 ist, belebt er die Links wegender Styles, alle anderen zeigen stinknormale Links. Diehier genutzte Möglichkeit mit styles zu arbeiten,habe ich zwar in Funktion, nirgends aber dokumentiert gefunden.Sie ist aus den genannten Gründen besonders geeignet.Wie Experimente ergaben, akzeptiert sie aber nicht alle Schriftattribute.

Im <head> eine Vorbereitung für IExplorer:
<style type="text/css">
   a:hover{text-transform:uppercase;}
</style>
und eine für Netscape:
<script language=JavaScript> 
   <!-- 
   function lay(an,aus)
   {
      window.document.layers[aus].visibility='hide';
      window.document.layers[an].visibility='show';
   }
   --> 
</style>
Am Ort der geplanten Links geht es richtig zur Sache:
<script language=JavaScript> 
   if(document.layers)
   {
       document.write("<layer name=\"layer1\">");
       document.write("<a href=\"erst.htm\""); 
       document.write(" onMouseOver=\"lay(\'layer2\',\'layer1\')\""); 
       document.write(" onMouseOut=\"lay(\'layer1\',\'layer2\')\">");
       document.write("Erster Link</layer>");
       document.write("<layer name=\"layer2\" visibility=\"hide\">");
       document.write("<a href=\"erst.htm\">");
       document.write("ERSTER LINK</a></layer>");
   } 
   else
      document.write("<a href=\"home.htm\">Erster Link</a>");
</script>

 

Bild verändert sich unter der Maus, einfachste Variante

Weit verbreitet sind Links, deren Aussehen sich unter der Maus verändert, dabei kann es sich um reine Schrift handeln oder um Bilder. Am einfachsten zu realisieren sind veränderliche Bilder, die Veränderung direkter Schriftlinks erfordert sehr viel höheren Aufwand.
Genutzt werden die Events onMouseOver und onMouseOut, die ja zwischen HTML und JavaScript eine Mittlerrolle spielen. Speziell für Links funktionieren sie in beiden Groß-Browsern. Wichtig ist die erst im img-Tag erfolgende Namensvergabe für das Bild. Glücklicherweise wird die sich ändernde Zuordnung der Bilddateien zum Bild "kunststoff" sofort berücksichtigt. Genau das gelingt bei Schriftattributen so nicht.

<a href="jdummy1.htm" 
   onMouseOver="document.kunststoff.src='bilder/kunst2.gif'" 
   onMouseOut="document.kunststoff.src='bilder/kunst.gif'">
<img SRC="bilder/kunst.gif" 
   NAME="kunststoff" 
   ALT="Nur zum Testen, Linkziel nicht vorhanden!" 
   BORDER=0 height=25 width=100>
</a>
Nur zum Testen!
Nur zum Testen!

Bild verändert sich unter der Maus, Ladezeitprobleme bekämpfen

Die Bilddateien für die Buttons sollten nicht allzu groß sein. Im hier verwendeten Beispiel sind aus Ersparnisgründen sogar drei verschiedene Dateien beteiligt worden. Die wechselnden Schriften sind als .gif's gespeichert, die deshalb sehr klein können, weil sie nur schwarze bzw. weiße Pixel enthalten. Der Hintergrund mit dem Farbverlauf ist dagegen als .jpg gespeichert und bleibt stets liegen.
Bei der erstmaligen Benutzung der Bild-Links muß die zweite Bilddatei eigens geladen werden, was zu unerwünschten Verzögerungen führen kann. Deshalb wird empfohlen, die Bilder allesamt vorab zu laden. Diese Verbesserung soll hier vorgestellt werden. Dazu wird im <head>-Teil ein Bildarray  angelegt, welches alle erforderlichen Button-Bilder zur Seite im Speicher vorhält, um auf sie ohne Verzögerung zugreifen zu können.
Für den folgenden Code lege ich 10 animierte Buttons zugrunde, listig, wie wir nun mal sind, nennen wir die Bilddateien etwa a1.gif und b1.gif, (Preisfrage: Wie geht es weiter?) und die Bildernamen werden im Interesse kurzen Codes zu "B1","B2" etc. Mein Beispiel ist, sorry, allerdings auf zwei verkürzt.

Im <head> müssen die Laderoutinen untergebracht werden:
<script language=JavaScript>
   var button =10;
   bild=new Array();
   for(i=0;i<2*button;i+=2){
      bild[i] = new Image(); bild[i].src = "a"+(i/2+1)+".gif";
      bild[i+1] = new Image(); bild[i+1].src = "b"+(i/2+1)+".gif";}
   function wex(nam,einaus)
   {
    document.images[nam].src=bild[2*(name.replace("B","")-1)+einaus].src
   }
</script>
Die Link-Einträge werden nur wenig verändert:
<a href="jdummy3.htm" 
   onMouseOver="wex('B1',1)" 
   onMouseOut="wex('B1',0)">
<img SRC="a1.gif" 
   NAME="B1" 
   ALT="Nur zum Testen!" 
   BORDER=0 height=25 width=100>
</a>
Nur zum Testen!
Nur zum Testen!

Komplette Variante, mit mehr Aufwand

Wieso einfach, wenn es auch umständlich geht?
Das oben beschriebene Beispiel wird oft genutzt, moderne Webeditoren bieten solche Scripte auf Knopfdruck, was Vor- und Nachteile hat. Hier sei als Beispiel eine "auf Nummer Sicher" programmierte Variante, wie sie der sehr empfehlenswerte Webeditor "1st Page 2000" anbietet, im Einzelnen kommentiert. Die Analyse fremder Scripte bietet ja Anregung für eigene Weiterentwicklungen.
 
<script language="JavaScript" type="text/javascript">
<!-- Hide from older browsers
Das Script ist, wie üblich,
im <head> unterzubringen.
Kommentar
function SwitchImg()
{ //start
   var rem,keep=0,store,obj,
   switcher=new Array,
   history=document.Data;
   for(rem=0;rem<(SwitchImg.arguments.length-2);rem+=3) 
   {
      store=SwitchImg.arguments[(navigator.appName
      =='Netscape')?rem:rem+1];
      if((store.indexOf('document.layers[')==0
         &&document.layers==null)||
         (store.indexOf('document.all[')==0
         &&document.all==null))
         store='document'+
         store.substring(store.lastIndexOf('.'),
         store.length);
      obj=eval(store);
      if(obj!=null)
      {
         switcher[keep++]=obj;
         switcher[keep++]=(history==null||
         history[keep-1]!=obj)?obj.src:history[keep];
         obj.src=SwitchImg.arguments[rem+2];
      }
   }
   document.Data=switcher;
}//end
Die Funktion soll den Austausch von
(ggf. auch mehreren) Bilddateien
regeln, unabhängig davon,
welcher Browser benutzt wird.
Es läuft alles darauf hinaus,
dem in der Variablen obj
gespeicherten Bildnamen
die neue Dateikennung zuzuweisen.
Für die Wiederherstellung
wird der Name der entfernten Datei
in dem Array Data gespeichert,
das eine Eigenschaft des Objektes
document darstellt. Diese  habe ich
nirgends dokumentiert gefunden.
function RestoreImg()
{//start
   if(document.Data!=null)
      for(var rem=0;
      rem<(document.Data.length-1);rem+=2)
      document.Data[rem].src=document.Data[rem+1];
}//end
Hier werden alle Data-Einträge
so restauriert, daß immer zweimal
nacheinander im Array der Dateiname
des "unberührten" Buttons steht.
//end hiding contents -->
</script>
Kommentar und Ende des Scripts
<a href="kunst.html" 
   onMouseOut="RestoreImg()"
   onMouseOver="SwitchImg('document.koff',
               'document.koff','kunst2.gif')">
<img SRC="kunst.gif" 
  NAME="koff" 
  ALT="Nur zum Testen, Linkziel nicht vorhanden!" 
  BORDER=0 height=25 width=100>
</a>
Der Eintrag am Ort des Links,
hier auf der Seite in eine Tabelle
eingebaut. Statt des direkten
Bilderwechsels erfolgen hier
in Abhängigkeit von den
Mausereignissen Funktionsaufrufe.
Bis auf diesen Unterschied ähnelt
der Aufruf dem oben gezeigten.
Unglaublich, es funktioniert immer noch!
 
Nur zum Testen!
Nur zum Testen!


DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere