![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Bernd, 30. 12. 2003, 20:54
Hallo,
auf der Seite: http://www.carisma-photographers.com/test/photographers.htm sind meherer Namen. Geht es das Script so umzuschreiben das bei einem mouseover anstatt dem Personennamen (z.B. "Dieter Huber") der Ort (z.B. "Salzburg") erscheint?
Die Namen sind alle in einem <div>
Ich habe schon ein bißchen probiert, aber es ist mir nicht gelungen.
Guten Rutsch und viel Glück im neuen Jahr,
Bernd
Die folgende Nachricht zum Thema stammt von: ptr, 30. 12. 2003, 21:39
Hallo Bernd,
habs nicht ausprobiert, aber so könnts gehen:
var namenspeicher;
var person_art=[ ['Amsterdam',7,8,9,10,11],['New York',12,7,9,6,0],['Oslo',7,9,8],['Munich',6,7,9,1],['Bad Neustadt',11,7,8,2,9],['Stadt',5,6,9,7,10],['Stadt',8,9,3],['Stadt',7,2,4,9,10],['Stadt',5,9,1,10,7],['Stadt',10,7,2,3,1],['Stadt',7,2,1]];
function clearAll() {
if(arguments.length>0){arguments[0].childNodes[0].childNodes[0].nodeValue=namenspeicher;}
for (x=0;x<=12;x++) { document.getElementById("art_"+x).style.color = "#666666"; }
for (x=0;x<=10;x++) { document.getElementById("per_"+x).style.color = "#666666"; }
}
function changePerson(id) {
for (x=0;x<=12;x++) { document.getElementById("art_"+x).style.color = "#666666"; }
for (x=1;x<= person_art[id].length;x++) { document.getElementById("art_"+person_art[id][x]).style.color = "#007DC9"; }
document.getElementById("per_"+[id]).childNodes[0].nodeValue=person_art[id][0];
document.getElementById("per_"+[id]).style.color = "#007DC9";
}
<a href="photographers/huber.htm" onMouseOver="changePerson(0)" onMouseOut="clearAll(this)">
<div class="photographers" id="per_0">Dieter Huber</div></a>
gruß
ptr
Die folgende Nachricht zum Thema stammt von: ptr, 30. 12. 2003, 21:44
uuups,
namenspeicher muß natürlich belegt werden:
function changePerson(id) {
for (x=0;x<=12;x++) { document.getElementById("art_"+x).style.color = "#666666"; }
for (x=1;x<= person_art[id].length;x++) { document.getElementById("art_"+person_art[id][x]).style.color = "#007DC9"; }
namenspeicher=document.getElementById("per_"+[id]).childNodes[0].nodeValue;
document.getElementById("per_"+[id]).childNodes[0].nodeValue=person_art[id][0];
document.getElementById("per_"+[id]).style.color = "#007DC9";
}
gruß
ptr
Die folgende Nachricht zum Thema stammt von: ptr, 30. 12. 2003, 21:52
... ob allerdings die Modem-Benutzer glücklich sind, wenn gleich beim ersten Aufruf der Seite 100.000 MB Bilder vorgeladen werden, ohne daß man was sieht...????
gruß
ptr
Die folgende Nachricht zum Thema stammt von: Bernd, 30. 12. 2003, 22:36
Vielen Dank für Deine Hilfe. Ich habe es so versucht, aber leider hat es nicht funktioniert.
Du findest die neue Seite unter http://www.carisma-photographers.com/test/photographers_test4.htm
Das mit dem Preloaden habe ich rausgemacht. War echt ein bißchen heavy. Da muss ich mir was eleganteres einfallen lassen.
»» ... ob allerdings die Modem-Benutzer glücklich sind, wenn gleich beim ersten Aufruf der Seite 100.000 MB Bilder vorgeladen werden, ohne daß man was sieht...????
»» gruß
»» ptr
Die folgende Nachricht zum Thema stammt von: ptr, 30. 12. 2003, 23:38
nach der changePerson()-Funktion fehlt das abschließende "}".
die zweite for-Schleife in dieser Funktion muß mit x=1 beginnen:
for (x=1;x< person_art[id].length;x++) .....
gruß
ptr
Die folgende Nachricht zum Thema stammt von: ptr, 31. 12. 2003, 00:20
Hi Bernd,
habs mal ausprobiert, das funktioniert dann.
Aber bei den Kategorien darfst du natürlich nicht "this" in der clearAll()-Funktion übergeben, sonst wird da auch der letzte Name reingelegt bei mouseout.
Als nächstes Problem taucht dann folgendes auf :
z.B.:
"Thorsten Klapsch" ist viel kürzer als "Berlin".
Fahre ich mit der Maus ganz rechts über Klapsch, wechselt's zu Berlin.
Das ist kürzer, ich bin nicht mehr darüber mit der Maus und das mouseout-Ereignis tritt ein.
Dadurch erscheint wieder "Thorsten Klapsch", das ist länger, die Maus ist wieder drüber, "Berlin" erscheint, ich bin nicht mehr drüber, "Thorsten Klapsch" erscheint, das ist länger, .....
und immer so weiter. Es flackert.
Kannste verhindern, wennde deinen Personen-DIVs z.B. style="width:130px" zuweist.
frohes neues!
ptr
Die folgende Nachricht zum Thema stammt von: ptr, 31. 12. 2003, 00:41
Hi Bernd,
habs mal auf NS 7.0 ausprobiert, da funktionierts nicht.
Liegt daran, daß der NS beim clearAll(this) im <a> mit "this" nicht eine Referenz auf das Objekt zurückgibt, sondern die Link-Adresse.
Mach jetzt aber Feierabend, ich schau morgen nochmal hier vorbei.
ptr
Die folgende Nachricht zum Thema stammt von: ptr, 31. 12. 2003, 10:36
Hi Bernd,
so gehts:
http://www.nesplan.de/gast/test/carisma.html
ptr
Die folgende Nachricht zum Thema stammt von: Bernd, 31. 12. 2003, 11:12
Super!!! Vielen Dank. Hoffentlich kannst Du das Script auch mal irgendwann für Dich selbst benutzen.
Guten Rutsch und viel Glück im neuen Jahr.
»» Hi Bernd,
»» so gehts:
»»
»» http://www.nesplan.de/gast/test/carisma.html
»»
»» ptr
Die folgende Nachricht zum Thema stammt von: ptr, 30. 12. 2003, 22:19
uuups,
und die zweite for-Schleife muß dann zwar bei 1 anfangen, darf aber trotzdem nur bis x<person_art[id].length laufen (nicht <=):
function changePerson(id) {
for (x=0;x<=12;x++) { document.getElementById("art_"+x).style.color = "#666666"; }
for (x=1;x< person_art[id].length;x++) { document.getElementById("art_"+person_art[id][x]).style.color = "#007DC9"; }
namenspeicher=document.getElementById("per_"+[id]).childNodes[0].nodeValue;
document.getElementById("per_"+[id]).childNodes[0].nodeValue=person_art[id][0];
document.getElementById("per_"+[id]).style.color = "#007DC9";
}
war denkfehler.
sorry
ptr
Die folgende Nachricht zum Thema stammt von: Bernd, 30. 12. 2003, 22:42
Ok, ich werde es mal ausprobieren.
Danke.
Die folgende Nachricht zum Thema stammt von: chogle, 31. 12. 2003, 09:16
Hallo
mache doch einfach zwei div's, einen für den Namen, den anderen für die Strasse
und bei MouseOver setzt du den einen auf hidden, den anderen auf visibility
© 1998-2006
Impressum, Software: Classic Forum