JavaScript über einen Link de bzw. aktivieren?!

elecfuture

Mitglied
Hallo zusammen,

meine Frage ist folgende: Ich habe im internet einen für mich nützlichen Codeschnipsel gefunden, der dem User die Möglichkeit gibt eine Lesehilfe zu verwenden. Die Lesehilfe ist eine Linie die über den gesammten Bildschirm reicht.

Ich habe keine Ahnung ob ich den Code hier ablegen darf, ich machs einfach :-)


HTML:
<script language="javascript">
function lineInit() {

				  	 var hr = document.createElement("hr");

				  	 document.getElementsByTagName("body")[0].appendChild(hr);

				  	 hr.style.height = "2px";

				  	 hr.style.border = "none";

				  	 hr.style.borderTop = "2px solid #B2B2B2"; // Dicke und Farbe der Linie kann man hier modifizieren

				  	 hr.style.position = (navigator.userAgent.indexOf("MSIE") > -1 && navigator.userAgent.indexOf("Opera") == -1) ? "absolute" : "fixed";

				  	 hr.style.zIndex = "99";

				  	 hr.style.margin = "0";

				  	 hr.style.width = "565px";

				  	 hr.style.top = "-1px";

				  	 hr.style.left = "0";

				  	 hr.id = "line";

				  	 document.onmousemove = lineMove;

				}
				function lineMove(e) {

				  	 var y = 0;

				  	 if(!e) e = window.event;

				  	 if(navigator.userAgent.indexOf("MSIE") == -1 || navigator.userAgent.indexOf("Opera") > -1)

				  	   	 y = (navigator.userAgent.indexOf("KHTML") > -1) ? e.clientY-window.pageYOffset : e.clientY;

				  	 else if(navigator.userAgent.indexOf("MSIE") > -1)

				  	   	 y = e.y+document.body.scrollTop;

				  	 y+=10;

				  	 document.getElementById("line").style.top = y+"px";
				}
				window.onload = lineInit;
</script>

Wenns geht, sollte dieser JavaScript Standardmäßig ausgeschaltet sein und per Cookie oder so ähnlich, die Einstellung gemerkt werden.


Also ich hoffe ihr könnt mir helfen.

Mit freundlichem Gruß:
René
 
Auch für dich gilt:
con-f-use hat gesagt.:
in http://www.tutorials.de/forum/javascript/250489-button-anklickbar-oder-unklickbar-machen.html
Ja, und weiter?

Ich sehe weder eine Frage, noch eine Aufforderung an uns irgend etwas zu tun und selbt wenn eine da wäre, so ist es nicht Ziel dieses Forums absolutes Javascript-Grundwissen zu vermitteln. Alles was du machen musst ist bei selfhtml nachlesen: Document Object Model (DOM)

Ich hätte nicht gemektert und dir sogar ein mehr oder weniger fertiges Script gegeben, wenn wenigstens ein wenig Mühe (z.B. der Versuch ein funktionierendes Script zu schrieben oder sich selbst schlau zu machen) in deinem Post herauszulesen gewesen wäre.
Suche mal hier im Forum nach Cookie und überlegt dir mal, mit dem, was du allgemein von Programmiertechniken (if-Anweisung etc.) weißt, wie man am das vielleicht bewerkstellen könnte. Dann versuch mal etwas entsprechendes zu schreiben. Wenn es nicht funktioniert poste deinen Code hierein und wir werden dir helfen, aber einfach ein Script von jemand anderem zusammenklauen und dir dann nichtmal die Arbeit machen, zu versuchen es selbst anzupassen ist nicht.
 
Hmm+,.-.....

Klauen? Warum klauen wenn mans nehmen kann? Egal.

Ich sitz grad auf Arbeit und hab keine zeit mir jetzt noch nen Kopf zu zerbrechen und auf Antworten zu hoffen.

Wozu issn so ein Forum da? Wenn ich nicht weiss nachwas ich suchen soll, wie soll ich da was finden? Sehr Logisch. Dennoch danke.

Kannst mir ja evtl. ein paar links geben damit ich schon mal nen anhaltspunkt habe.
 
Ne. Um Himmelswillen. keiner soll den Code umschreiben. Wenn nur ich. Aber ich weiss nicht wie? ;)

Ach menno. Ich sitz auf Arbeit und hab keine Zeit. Ich benötige das teil wirklich dringend.

- ein Cockie der speichert, ob der Balken Aktiv bzw. deaktiv ist und...
- ... nen "onclick" befehl über nen hyperlink oder so, der das Java ding aktiviert bzw. deaktiviert.


Es ist wirklich dringend.
 
Die Zeile raushauen:
Code:
window.onload = lineInit;
Den ganzen Inhalt der Funktion lineMove() in eine if-Anweinsung packen, die abfragt, ob eine Variable auf ture ist und eben jene Variable per onlick auf true oder false setzten, je nach dem ob du das Ding ein oder ausschalten willst. Beim Initialisieren, die Variable mit dem Wert des ensprechenden Cookies belegen. Dann noch einen else-Zweig reinpacken, der den display von den Linien auf "none" setzt. Fertig, sollte so gehen, wenn du alles richtig machst.

Das wüsstest du aber, wenn du anstatt hier rumzuflennen, mal bei SELFHTML geschaut hättest. Und wenn du mich wieder so annmachen willst, dann überleg mal, wer hier von wem Hilfe möchte.
 
Zuletzt bearbeitet:
Ach menno ;-)

Sei nicht gleich so sensibel. Die Bayern ham sich doch nicht so enge oda?
Danke auf jeden fall. Ist zwar für mich Hardcore diese Anleitung weil ich nix verstehe, aber zumindest habe ich schonmal hinbekommen, das ding anzuschalten.

Also, wenn du nochmal etwas Zeit investieren möchtest, dem Absoluten volltrottel (ich) eine Anleitung zu deiner Anleitung zu schreiben, währe ich dir absolut dankbar ;)

Ne, bist voll ok, ich danke dir auf jeden fall.
 
Na bitte, geht doch, warum nicht gleich so freundlich. Der Ton macht die Musik, mein Freund und weil du mit jetzt so ein wenig den Bauch gekrault hast, kraul ich deinen...

So etwa habe ich's gemeint:
Javascript:
var hr, show = getCookie('show');

window.onload = function() {
    hr = document.createElement("hr");
    document.getElementsByTagName("body")[0].appendChild(hr);
    hr.style.height = "2px";
    hr.style.border = "none";
    hr.style.borderTop = "2px solid #B2B2B2"; // Dicke und Farbe der Linie kann man hier modifizieren
    hr.style.position = (navigator.userAgent.indexOf("MSIE") > -1 && navigator.userAgent.indexOf("Opera") == -1) ? "absolute" : "fixed";
    hr.style.zIndex = "99";
    hr.style.margin = "0";
    hr.style.width = "565px";
    hr.style.top = "-1px";
    hr.style.left = "0";
    hr.id = "line";
    document.onmousemove = lineMove;
}

function lineMove(e) {
    if (show) {
        var y = 0;
        if(!e) e = window.event;
        if(navigator.userAgent.indexOf("MSIE") == -1 || navigator.userAgent.indexOf("Opera") > -1)
            y = (navigator.userAgent.indexOf("KHTML") > -1) ? e.clientY-window.pageYOffset : e.clientY;
        else if(navigator.userAgent.indexOf("MSIE") > -1)
            y = e.y+document.body.scrollTop;
        y+=10;
        document.getElementById("line").style.top = y+"px";
        setCookie('show',1,10)
    } else {
        hr.style.display = 'none';
        delCookie('show');
}
Habe es nicht getestet, könntent noch kleinere Fehler drin sein. Indem du die Variable in einem onclick auf 1 bzw, 0 setzt kannst du das Ding ein bzw. aus schalten.

Damit das Script funktioniert brauchst du noch die Cookie-Funktionen aus diesem Thread: http://www.tutorials.de/forum/javascript/204119-cookie-erstellen.html?highlight=getCookie

Das nächste Mal benutzt gefälligst die Suchfunktion exessiv.
 
Zuletzt bearbeitet:
Immer dieses eingelogge wenn ma mal ein paar minuten weg is ;-]

Ich danke dir recht Herzlich
Wir werden noch beste Freunde wah :-)

hab noch nen klitzekleines Problem: Vor deiner Arbeit am Code habe ich im "onclick" folgendes eingetragen um das er mir das Teil anschaltet. "lineInit()"

Was muss ich denn jetzt machen?
 
Ne, musst du jetzt nicht: onclick zum einschalten sollte jetzt so aussehen:
Code:
<a href="#" onclick="show=1; retrun false;">Link</a>

Ich glaube ich habe oben noch eine gescheifte Klammer vergessen, schau einfach mal auf die Fehlermeldungen.
 

Neue Beiträge

Zurück