PROBLEME MIT EINEM DYNAMISCHEM MENÜ
Zefan
- dhtml
Guten Abend,
Ich habe einen script geschrieben, in dem durch "document.all.***.style.left" von links nach rechts Links herausfahren...(wenn man mit dem Cursor über einem thema ist)
Das Problem:
Jedes mal wenn ich mit dem cursor drüber geh, wird der Link der rausfährt immer schneller, bis man ihn nicht mehr trifft....wieso?
Bitte helft mir!
MFG Zefan
guten Abend ebenfalls,
Ich habe einen script geschrieben,
Nein, hast du nicht. Aber du hast _ein_ Script geschrieben - die Dinger sind nun einmal nicht männlich.
in dem durch "document.all.***.style.left"
Warum nimmst du das veraltete "document.all" ? Dir ist klar, daß du die moderneren Browser von der Nutzung deines Scripts ausschließt?
Das Problem: Jedes mal wenn ich mit dem cursor drüber geh, wird der Link der rausfährt immer schneller, bis man ihn nicht mehr trifft....wieso?
Keine Ahnung. Du müßtest schon dein Script bekanntgeben - am besten, du verwandelst eine Kopie davon in Text und lädst sie irgendwo auf eine temporäre Adresse hoch, damit man sich das Ganze anschauen kann.
Bitte helft mir!
Gerne, wenn man sich denn auch anschauen kann, worum es geht ...
Grüße aus Berlin
Christoph S.
Aha...sind alle hier im Forum so Besessen von perfekter Rechtschreibung? ...naja egal... das "document.all.***.style.left" ist veraltet? Naja, ich nehms erst seit kurzem, sonst nehm ich für normal auch document.getElementById('***').style.left=... ,ich kopier den text einfach mal hierrein:
<html>
<head>
<script>
var a_x = -304;
var a_c= 2;
var a_d= 2;
var a_e=0;
var a_f=0;
function about_a()
{
a_x+=a_c
if(a_x>=0){a_c=0;a_d=2}
document.all.about.style.left= a_x;
setTimeout("about_a()")
}
function about_b()
{
a_x-=a_d
if(a_x<=-304){a_d=0;}
document.all.about.style.left= a_x;
setTimeout("about_b()")
}
</script>
</head>
<body>
<div id="about" style="position: absolute; top:74; left:-304;" onmouseover="about_a()" onmouseout="a_c=0">
<table cellpadding="0" cellspacing="0" style="filter:alpha(opacity=70)" border="5" bordercolor="#6873f8">
<tr>
<td width="150" bgcolor="#8da7f5" onmouseover="style.background='ffff00';style.cursor='hand';a_d= 0;" onmouseout="style.background='#8da7f5';about_b();a_d=2;a_c=0">RO</td><td width="150" bgcolor="#8da7f5" onmouseover="style.background='ffff00';style.cursor='hand';a_d=0;" onmouseout="about_b();style.background='#8da7f5';a_d=2;a_c=0">ME</td><td class="ohne"><img src="about.jpg" onmouseover="style.cursor='hand';a_c=2"></td>
</tr>
</table>
</div>
</body>
</html>
Ich weiss, warscheinlich kommt der einem relativ unprofessionell vor...bin neu und kanns halt net besser (ist nicht der ganze Text..nur das wichtigste)
MFG Zefan
PS: Bitte keine Rechtschreib-Korrekturen..
hi,
Aha...sind alle hier im Forum so Besessen von perfekter Rechtschreibung?
Das hatte nix mit Rechtschreibung zu tun, sondern mit Grammatik
das "document.all.***.style.left" ist veraltet? Naja, ich nehms erst seit kurzem, sonst nehm ich für normal auch document.getElementById('***').style.left=...
Bei "getElementByID()" solltest du auch bleiben, damit andere BNrowser als Internet Explorer was mit deinem Script anfangen können.
setTimeout("about_a()")
Da hast du das ganze Problem. Überlege dir, was dieses Timeout in deinem Script anstellt, korrigiere es oder laß es besser noch ganz weg. Ich sehe nicht, daß du ein Timeout überhaupt brauchst.
PS: Bitte keine Rechtschreib-Korrekturen..
Du bekommst in der Regel die Korrekturen, um die du gebeten hast, und häufig auch noch weiterführende Anmerkungen. Deine Rechtschreibung ist perfekt, Tippfehler werden nicht zensiert, die können bei jedem mal vorkommen.
Grüße aus Berlin
Christoph S.
Grammatik wie?....aha..is ja auch egal.
Zu setTimeout, das benutze ich eigentlich als schleife, in einem bestimmten zeitabstand wird eine variabe erhöht, die dann als position für den link dient, .....also weglassen kann ich das eigenltich net
hallo Zefan,
Zu setTimeout, das benutze ich eigentlich als schleife, in einem bestimmten zeitabstand wird eine variabe erhöht, die dann als position für den link dient,
Ja, genau das ist ja dein "Problem", du beschreibst es doch selbst absolut exakt. Du hast selber vorgegeben, daß diese Variable veränderbare Werte enthalten soll, also wundere dich nicht, wenn dein Script genau das tut, was du von ihm verlangst.
also weglassen kann ich das eigenltich net
Dann nimm eine andere Variable, deren Wert nicht dynamisch verändert wird.
Grüße aus Berlin
Christoph S.
ähh.... bei meinem script soll der Link so langsam reinfahren, also flüßig. Brauch ich dann hunderte von variablen oder wie meinst du das?
hallo Zefan,
ähh.... bei meinem script soll der Link so langsam reinfahren, also flüßig. Brauch ich dann hunderte von variablen oder wie meinst du das?
Nein, die bisher vorhandenen Variablen reichen höchstwahrscheinlich völlig aus (du könntest sogar zwei einsparen). Du hast aber mit deiner "if"-Anweisung bestimmte Sprünge/Schritte vorgegeben, mit denen der jeweilige Wert anwachsen/verringert werden soll. Und aufgrund deiner Notation verändert sich nun ganz einfach die "Schrittweite" deiner vorhandenen Variablen. Es geht also darum, mit "if" exakt zu bestimmen, welche Schritte zum Ein-/Ausblenden in welcher Größe abgearbeitet werden sollen. Mach diese Schritte einfach alle gleich lang.
Und ehe du mich fragst, ob ich dir nicht die gewünschte "Korrektur" gleich herschreiben könnte: nein, das passiert nicht. Ich könnte durchaus - aber dann würdest du das möglicherweise einfach übernehmen und dir keine Mühe mehr machen, den ganzen Krimskrams zu verstehen. Der Sinn dieses Forums besteht aber darin, die "Energie des Verstehens" zu fördern.
Grüße aus Berlin
Christoph S.
PS: du hast zuerst ganz korrekt eine freundliche Anrede gebraucht, in den nachfolgenden postings aber darauf verzichtet. Das ist nicht so sehr gut. Schau zwischendurch mal in die FAQ zum Forum (den link dazu gibts ganz oben), das lenkt dich ein bissel ab und kann helfen, die "Betriebsblindheit" loszuwerden.
Nochma hoi Christoph,
ich lass mir das was du geschrieben hast nochma durch den Kopf gehen, und schau mal im FAQ nach, damit wärs das dann auch schon...
GUTE NACHT,
Zefan
guten Abend ebenfalls,
Ich habe einen script geschrieben,
Nein, hast du nicht. Aber du hast _ein_ Script geschrieben - die Dinger sind nun einmal nicht männlich.
Christoph,
du bist ein echter, klassicher Schlaumeier. Oder war es Klugschei**er?
Gruss
Thomas