Thema: Automatisches Hover von Bilddateien?

Automatisches Hover von Bilddateien?

Beim Hovern muss immer in der Bilddatei irgendetwas von onmousover ... stehen. Nun hatte ich folgenden Idee.

Man könnte doch ein Script schreiben, dass alle Bilddateien Hovert, die mit der Endung _hover versehen sind. Ein Beispiel:

Ich habe meine test.gif .
Das Hoverbild heißt dann test_hover.gif .

Könnte mir jemand ein tipp geben, wie ich soetwas realisieren könnte?

PS: Die ganze sollte nicht nur mit hovern funktionbieren, vielleicht auch mit _click,_ative,_visited ...

Re: Automatisches Hover von Bilddateien?

Hi!

Das wird mit JavaScript nicht so einfach gehen... Ich denke aber, dass es möglich sein sollte, mit einem (nicht Java-)Script die entsprechenden Befehle automatisch hinzuzufügen. Das würde eine ganze Menge Tipparbeit sparen.

Mamphil

The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”

Re: Automatisches Hover von Bilddateien?

Im SelfHTML-Board hab ich auch mal nachgefragt. Da wollte es auch keiner machen!   <img border="0" title="" alt="[Wütend]" src="images/icons/mad.gif" /> 
Und bei Devshare sind doch die Profis, die können das ...   <img border="0" title="" alt="[Breites Grinsen]" src="images/icons/grin.gif" />

Re: Automatisches Hover von Bilddateien?

Ich glaube, du verlangst einfach zu viel von JavaScript. Das Problem an dieser Sprache ist einfach, dass du zwar viel machen kannst, doch wird es sicherlich nicht überall funktionieren  <img border="0" title="" alt="[Enttäscht]" src="images/icons/frown.gif" />  Daher würde ich solche Spielereien (die IMHO auch nichts bringen) einfach lassen und lieber ein wenig mehr tippen bzw. per Copy & Paste reinkopieren. Was soll eine solche Funktion überhaupt?

Mamphil

The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”

Re: Automatisches Hover von Bilddateien?

Ich weiß nich, was genau gemeint ist. Ist gemeint, dass das Bild und ebendieses mit appliziertem Hover-Effekt jeweils als File vorliegt, oder ob man das Hover-Bild per Filter in JS erzeugen soll? Ersteres geht denke ich recht einfach. Wenn ichs richtig im Kopf habe:
  </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">
...
<script type="text/css">
<!--
var tbl = [
   'img1', 'bild.gif', 'bild1_hover.gif',
   'img2', 'bild2.gif', 'hoverbild2.jpg'
];

function enhover(nel)
{
      var el = document.getObjectById(nel);
      var i;
      for (i = 0; i < 2; i++) {
           if (tbl[i * 3] == nel) {
               el.src = tbl[i * 3 + 2];
               break;
           }
      }
}

function dehover(nel)
{
      var el = document.getObjectById(nel);
      var i;
      for (i = 0; i < 2; i++) {
           if (tbl[i * 3] == nel) {
               el.src = tbl[i * 3 + 1];
               break;
           }
      }
}

//-->
</script>

...

<img id="img1" src="bild.gif"
  onmouseover="enhover('img1')"
  onmouseout="dehover('img1')"/>
<img id="img2" src="bild2.gif"
  onmouseover="enhover('img2')"
  onmouseout="dehover('img2')"/>

...
  [/code]</blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Ich hoffs funzt.

mfG whitehouse

Re: Automatisches Hover von Bilddateien?

Hi!

Ich habe es so verstanden, dass auf ein onMouseOver etc. ganz verzichtet werden soll und dies automatisch mit allen Dateien gemacht werden soll, die die Endung _hover haben. Und das ist nicht so einfach möglich, oder irre ich?

Mamphil

The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”

Re: Automatisches Hover von Bilddateien?

Aber villeicht mit PHP zusammen? Oder Java?

@ Mamphil: So mein ich es auch!
 
  <small>[ 04-07-2002, 13:43: Beitrag editiert von: T-Bird ]</small>

Re: Automatisches Hover von Bilddateien?

Hi!

Deine Aufgabe ist nicht wirklich einfach... Ich würde ein kleines Programm schreiben (z. B. in PHP) mit dem ein bestimmter Syntax entsprechend ersetzt wird. (z. B. ein <img src="bild_hover.jpg"> durch die entsprechenden JavaScript und onMouseOver-Befehle). Das wäre aber eher ein Projekt und gehört dann ins entsprechende Forum  <img border="0" title="" alt="[Breites Grinsen]" src="images/icons/grin.gif" />

Mamphil

The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”

Re: Automatisches Hover von Bilddateien?

Kann jemand der Moderatoren diesen Thread ins "entsprechende Forum" verschieben!

Re: Automatisches Hover von Bilddateien?

Ich habe unter  http://www.dynamicdrive.com/dynamicinde … /index.htm ein schönes Menü gefunden. Wenn ihr diese Menü downloadet und in einen Ordner entpackt, werden auch ein paar Bilddateien entpackt. Wenn man dann der BildDatei(en) einfach anstatt der Endung .gif die Endung _over.gif gibt, wird die Bilddatei automatisch gehovert, ohne dass ich irgendetwas schreiben muss. Ich weiß nur nicht, wie das zustande kommt!   <img border="0" title="" alt="[Durcheinander]" src="images/icons/confused.gif" />

11

Re: Automatisches Hover von Bilddateien?

Hi T-Bird!

Der Quelltext wird sicherlich keine 10.000 Zeilen umfassen. Guck ihn dir doch mal an. Wenn du irgendwas nicht verstehst, fragst du einfach im entsprechenden Forum  <img border="0" title="" alt="[Breites Grinsen]" src="images/icons/grin.gif" />

Mamphil

The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”

Re: Automatisches Hover von Bilddateien?

Da steht auch irgendwas von effecten! Welche gibt es da?

Re: Automatisches Hover von Bilddateien?

@ mamphil:

Guck dir den Quelltext der mmenu.js selbst an!

Und bitte sag mir dann nicht nochmal, dass ich entsprechenden Forum  nachfragen soll! DIch denke, in diesem Quelltext liegt die Lösung von unserem Problem!   <img border="0" title="" alt="[Schüchtern]" src="images/icons/rolleyes.gif" />

Re: Automatisches Hover von Bilddateien?

Projekt eingestellt?

15

Re: Automatisches Hover von Bilddateien?

Hi T-Bird!

Ohne dir vor den Kopf stoßen zu wollen:
  </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">Projekt eingestellt?</font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Ich habe mich noch nie im Projekt eingespannt gefühlt. Ganz ehrlich: Ich habe weder die Zeit, noch die Lust, mich mit diesem Problem insgesamt auseinander zu setzen. Suche doch erstmal selbst nach der Lösung. Ich wiederhole mich nur ungern (deshalb zitiere ich es auch), aber:
  </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">Wenn du irgendwas nicht verstehst, fragst du einfach im entsprechenden Forum   <img border="0" title="" alt="[Breites Grinsen]" src="images/icons/grin.gif" /> </font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Viel Spaß beim experimentieren.

Mamphil

The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”

16

Re: Automatisches Hover von Bilddateien?

Außerdem würde es mit PHP und nem CMS viel einfach zu "realisieren" sein.........

Nun freilich starren Sinnes zu behaupten, daß das, was ich gesprochen habe, auch unbedingte Wahrheit sei, das schickt sich nicht für einen, der zu denken pflegt. - Platon

Re: Automatisches Hover von Bilddateien?

Kann dieser Thread nicht nach PHP verschoben werden?

18

Re: Automatisches Hover von Bilddateien?

Hey T-Bird,
das Ding lässt sich mit PHP tatsächlich recht unkompliziert realisieren (soweit ich das überblicke), solange die Funktion tatsächlich nur statische Webseiten bearbeiten soll.
Eine erste Seite nimmt die Daten auf, wie Pfad zum Verzeichnis, in dem die zu bearbeitenden Dateien liegen (oder sollen nur einzelne Dateien bearbeitet werden), Sollen auch Unterverzeichnisse bearbeitet werden? Dateien mit welchen Endungen sollen bearbeitet werden? Soll vor bearbeiten einer Datei eine Sicherheitsabfrage stattfinden, Backup? und dieser ganze kram halt, um das Ding komfortabel zu machen.
In welchen Verzeichnissen liegen die entsprechenden Bilder?

Nun liest du alle Bilder ein, die mit _hover enden und speicherst die Namen irgendwo, irgendwie. Dann suchst du jede Datei durch, ob irgendwo ein src="$name" in einem <img>-Tag vorkommt und baust dann in alle Dateien die entsprechenden JS-Codes ein. Das wars. Wenn du Laufzeit-Begrenzungs-Probleme hast, dann machs, wie in der Suchfunktion hier im Board. Bei jedem Skriptaufruf wird nur eine Datei (oder halt soviele, wie sicher gehen) bearbeitet und eine Reload-Seite an den Browser geschickt. Die daten mußt du dann halt in einer (Session-)Datei oder DB speichern.

...ich bin übrigends nicht dabei bei so einem Projekt, aber falls du Probleme bekommst ... weißt scho, www.lass-uns-drüber-reden.de   <img border="0" title="" alt="[Breites Grinsen]" src="images/icons/grin.gif" />   

Basti
 
  <small>[ 19-08-2002, 16:29: Beitrag editiert von: Basti ]</small>

Re: Automatisches Hover von Bilddateien?

einfach um auch meinen senf dazuzugeben:
warum soll das in javascript schwer zu verwirklichen sein?

man muss doch einfach nur ein script einpflanzen, dass dann alle images (document.images[#]) durchpflügt, und schaut, ob die endung _hover.gif vorhanden is.
wenn ja, dann einfach das mittes javascript die css-einstellungen ändern... src austauschen, evtl mauszeiger ändern, etc...

oder hab ich bei dem problem was nicht mitbekommen?

Re: Automatisches Hover von Bilddateien?

da ich mich gerade für automatisietes event-hinzufügen interresiert habe, folgender vorschlag für IE (pseudocode!!):
  </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">for(i=0; document.images[i]; i++) {
   if( rechterTeil(document.images[i]) == "_hover.gif") {
     myscript = "<<script for=""+ IMAGE_ID +"" event='onMouseOver()' language='JScript' type='text/jscript'> {"+
     
        SRC DES IMAGES ÄNDERN (zugiff per ID)

       "}</script>";
     document.all.tags("head")[0].insertAdjacentHTML("BeforeEnd", myscript);

   }
}
  [/code]</blockquote><font size="2" face="Verdana, Helvetica, sans-serif">sowas in der richtung. Für NN sieht das ganze dann anders aus (siehe selfhtml unter event).
Das ganze dann noch für onmouseout. Eine funktion, die die ganze prozedur startet, und fertig ist die zauberei.

21

Re: Automatisches Hover von Bilddateien?

Es gaht ja - so hab ich das zumindest verstanden - nicht darum, bereits auf einer Seite eingabaute Bilder mit der Endung "_hover.gif/.jpg/.png" zu erkennen und dann einen entsprechwenden Bilderwechsel "hinzuzaubern" dazu naoch bei jedem Seitenaufruf!

Ich dachte, T-Bird will einfach folgendes:
Er hat einfach x HTML-Seiten in einem Verzeichnis und dazu Bilder. Nun pickt er sich ein Bild raus, macht dazu ein Hover-Bildchen, und speichert es unter dem Namen des Unsprungsbilchens + eben dieses "_hover". Nun will er gerne ein Script, dass im einfach per Knopfdruck alle x HTML-Seiten durchforstet, ob das Bild darin vorkommt, um da dann die JS-Zeilen reinzupacken.

Ich kann mir nicht vorstellen, dass JS Verzeichnisse durchsuchen kann, um dann einzelne Dateien zu editieren. Wenn doch, dann machs doch JS, ist ja völlig Wurscht, hauptsache es Funkt so, wie du willst!

Basti

Re: Automatisches Hover von Bilddateien?

Ein Javabeispiel!

23

Re: Automatisches Hover von Bilddateien?

Nun ja, ich weiß nicht, was dein Beispiel mit der Automatisierung solcher Vorgehensweisen zu tun hat.
Genausogut kannst du dir ja auch ein paar JS-Funktionen in eine Datei auslagern und diese dann mit so einem Softcode, wie bei deinem Beispiel ansteuern.
Damit kommst du aber nicht drumherum, die Bilderwechsel in jede Seite manuell einzupflanzen und aus Accessibility-Sicht fährst du mit JS auf jeden Fall besser!

Basti

24

Re: Automatisches Hover von Bilddateien?

Hallo,
warum nicht gleich CSS einsetzen ?
IMG:hover{border:ridge 3px red;) bzw. A:hover
Das erspart dann viele Hover-Bilder. Mit Microsoft-Filtern oder Netscape6-Transparent-Funktionen liessen sich auch nette Effekte erzielen. Vorteil: schnellere Ladezeiten.
Da IMG-Hover-Funktionen aber immer von den Cache-Einstellungen abhängig sind, jaja manche deaktivieren Ihren Cache, empfiehlt sich eine Layer-Lösung mit Z-Index, was dann auch mit Netscape4 leicht zu realisieren ist.
Auch die Kombination zwischen CSS und Ebenenverschiebung ist zu empfehlen. Bei Browsern die CSS beherrschen werden dann eben die LAYER nicht geladen. Wer unbedingt alle HTML-Codes für alle Browser in einer Datei unterbringen will, ist allerdings schlecht beraten. Experimentell habe ich mal diesen Versuch gemacht *g*:
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">function isGeckoInit(){
Eingabefelder=document.getElementsByTagName("input");
Textfeld=document.getElementsByTagName("textarea");
Etiketten=document.getElementsByTagName("label");
myLinkz=document.getElementsByTagName("span");
for (i=0;i<=(Eingabefelder.length-1);i++){
Eingabefelder[i].removeAttribute("onmouseover");
Eingabefelder[i].removeAttribute("onmouseout");
Eingabefelder[i].removeAttribute("onfocus");
Eingabefelder[i].removeAttribute("onblur");

}
for (i=0;i<=(Etiketten.length-1);i++){
Etiketten[i].removeAttribute("onmouseover");
Etiketten[i].removeAttribute("onmouseout");
Etiketten[i].removeAttribute("onfocus");
Etiketten[i].removeAttribute("onblur");
}
for(i=0;i<=7;i++){
myLinkz[i].removeAttribute("onmouseover");
myLinkz[i].removeAttribute("onmouseout");
myLinkz[i].removeAttribute("onfocus");
myLinkz[i].removeAttribute("onblur");
}
Textfeld[0].removeAttribute("onmouseover");
Textfeld[0].removeAttribute("onmouseout");
Textfeld[0].removeAttribute("onfocus");
Textfeld[0].removeAttribute("onblur");

for(i=0;i<=(Etiketten.length-1);i++){
EZiel=Etiketten[i].getAttribute("for");
Mtrouble=document.getElementById(EZiel).getAttribute("type");Mtrouble.toLowerCase();
if(Mtrouble!="checkbox"

What ever you want

Re: Automatisches Hover von Bilddateien?

Versteh ich net.

Kannst das mal in ne ganze HTML-Datei schreiben?