js ein+ausblenden

anna_n

Grünschnabel
Hallo!
ich möchte eine Linie per Mouseclick auf Buttons ein- und ausblenden.

So funktioniert es soweit, allerdings mit 2 Haken:

1) nur in Internet Explorer (Ausblenden/Neu-Einblenden geht in Mozilla u. Netscape nicht)

2) nur wenn man die Reihenfolge 1-2-3-2-3- usw. einhält, bzw. wenn man nach dem Ausblenden nicht nochmal "Linie einschalten" klickt, denn danach funktionierts plötzlich nicht mehr!


Bitte könntet ihr mir sagen, wie man das ganze Mozilla - und Netscape-fit macht?

Wäre auch dankbar über Tipps, ob man Einschalten und Neu-Einblenden auf 1 Button legen könnte bzw. ausschließen könnte, dass das Problem 2) entsteht

danke und lg
anna
 
Du sprichst die Linie in neu_anzeig() nicht korrekt an...machs so, wie auch in hide()

Dann würde ich die y-Position noch um 1px vergrössern, ansonsten ist der Cursor immer auf der Linie, und man kann nicht auf die Buttons klicken.

Übrigens: recht nützliche Sache, dein Skript, wie ich finde :)
 
Hi!
Dank für den Tipp.
Habs jetzt geändert, aber in Mozilla und Netscape tut sich nach wie vor nichts ...

Was meinst du zu dem Problem Nr.2 ?

Lg Anna

PS. Skript stammt nicht von mir .... sonst würde ich meine 2 Problemchen gar nicht haben glaub ich ;)
 
Hallo Anna, vielleicht hilft dir das dann weiter:
HTML:
<html><head><title>Blubb</title>

<script type="text/javascript"><!--
var line;
window.onload = function init() {
    line = document.getElementById('line');
}
document.onmousemove = function mouse(e) {
    if (line) 
        line.style.top = (document.all 
                ? window.event.y+document.body.scrollTop+1 
                : e.pageY+1) 
        +'px'; 
}
//--></script> 

</head><body>

<hr id="line" style="height:1px; border-top:1px solid #cf032c; position: absolute; z-Index:99; margin:0; width:100%; display:none;" />

<input type="button" value="Einblenden!" onclick="line.style.display='block'" />
<input type="button" value="Ausblenden!" onclick="line.style.display='none'" />

</body></html>
Hab's im IE und Mozilla getestet und geht. Außerdem ist es deutlich weniger Code.
 
Zuletzt bearbeitet:
WOOOOW! :-)
ist ja supergenial!! Hast du das selbst geschrieben
Das funktioniert in allen Browsern :-)
Nur dass komischerweise das CSS bei mir nicht übernommen wird (die Linie erscheint grau)

Und wie sähe die Lösung zu meinem Beispiel aus?

danke und liebe Grüße!
anna
 
anna_n hat gesagt.:
Nur dass komischerweise das CSS bei mir nicht übernommen wird (die Linie erscheint grau)
con-f-use sind da leider zwei Tippfehler unterlaufen, denn es muss zum einem height (anstatt heigth) und border-top (anstatt borderTop) lauten ;)
 
anna_n hat gesagt.:
WOOOOW! :-)
ist ja supergenial!! Hast du das selbst geschrieben
Das funktioniert in allen Browsern :-)
Nur dass komischerweise das CSS bei mir nicht übernommen wird (die Linie erscheint grau)
Jo, gerade schnell geschrieben.

Bei den CSS-Sachen hab ich etwas gemurkst, das stimmt. Dachte mir, wenn da ein Fehler drin ist findest du den selbst. Hab einfach mal angenommen, dass du CSS kannst und es ist ja auch ein normales HTML-Element, wo man nix mit JS machen muss um den Style zu ändern.

Das mit dem "heigth" ist übrigens der Fehler, den ich mit Abstand am häufigsten mache...
 
Zuletzt bearbeitet:
Wow wirklich genial, und so schnell nochdazu!! Toll, echt..

Das mit height ist mir auch aufgefallen, recht viel weiter reicht mein CSS noch nicht.

Aber man lernt ja dazu :-) Und deshalb werde ich jetzt noch ein bisschen herummurksen und versuchen, mein kompliziertes JS auch noch funktionsfähig zu machen, ... oder ich merk mir deins einfach auswendig ;)

lg anna

PS Heigth mit vorn H und hinten H würde mir eh besser gefallen, wär irgendwie logischer
 
Jo, aber Englisch ist sowieso vom Verhältniss Schrift zu Aussprache nicht wirklich sehr logisch.

Wäre übrigens schön, wenn du noch das Thema als "erledigt" markieren könntest. Da du neu hier bist, liest du dir am besten den ganzen Thread aus dem Link eben durch.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück