<body onload="fade()"> behindert einen JS Script?
Shyne
- javascript
Hi,
ich habe "<body onload="fade()">" eingefügt damit bei Seitenaufruf eine Funktion ausgeführt wird. Bisher war alles prima.
Dann wollte ich aber noch einen JS Script einfügen:
<script type="text/javascript" src="bilderticker.js"></script>
basierend auf: Bilder in einer Schleife
Dieser Script wird nicht ausgeführt, solange "onload..." im Body Tag steht.
Kann mir Jemand helfen?
Danke!
______________________________________________________________
@ Martin:
bitte lass das Problem da, wo es schon besprochen wird, und vermeide Doppelpostings. Danke.
Falls du beide gelesen hast, hättest du gemerkt, dass es absolut unterschiedliche Probleme sind! Die haben fast nichts miteinander zu tun. Das einzige Bindeglied bin ich. Ich finds aber weitaus sinnvoller (auch für Googlende oder Mitlesende) die Themen nach Themen und Inhalt zu sortieren und nicht nach Autoren...
Wenn ich einen anderen Namen angegeben hätte, wäre die Verbindung nämlich nicht da. Aber back to topic...
Soweit ich weiss, beziehen sich Doppelposts immer auf den Inhalt. Und falls du den anderen Thread auch verfolgt hast, würde es 0 Sinn machen da weiter zu schreiben, weil sich das Problem gestern zu __100%__ gelöst hat.
Ich hoffe, du siehst es nun auch so wie ich.
@@Shyne:
nuqneH
Schon ganz schön dreist, gleich nach Sperrung eines Threads noch einen zu eröffnen.
Obwohl ich auch finde, dass beides nichts miteinander zu tun hat und man hier nicht „Doppelposting“ rufen muss. Deshalb antworte ich hier (falls der Thread bis zum Abschicken nicht auch schon gesperrt ist).
Dieser Script wird nicht ausgeführt, solange "onload..." im Body Tag steht.
Siehe in molilys Artikel JavaScript: Einbindung in HTML und Ereignisverarbeitung die Kapitel 17 ff.
Qapla'
Siehe in molilys Artikel JavaScript: Einbindung in HTML und Ereignisverarbeitung die Kapitel 17 ff.
Der Link ist leider tot und alle verweisen dahin :(
Hallo Shyne,
Siehe in molilys Artikel JavaScript: Einbindung in HTML und Ereignisverarbeitung die Kapitel 17 ff.
Der Link ist leider tot und alle verweisen dahin :(
mit etwas Spürsinns hättest du auch merken können, dass da ein "l" fehlt.
Gruß, Jürgen
PS Link korrigiert
mit etwas Spürsinns hättest du auch merken können, dass da ein "l" fehlt.
Sorry, bin aber schon bei Punkt 17 fleißig am Lesen. Bin ein unartiger Schüler :D
Ich finds aber weitaus sinnvoller (auch für Googlende oder Mitlesende) die Themen nach Themen und Inhalt zu sortieren und nicht nach Autoren...
Das würde ich auch so sehen!
Dieser Script wird nicht ausgeführt, solange "onload..." im Body Tag steht.
Weil du in deinem Script den onload-Handler des anderen überschreibst. In dem anderen Script findest du auch die Lösung:
start: function () {
this.oldWinOnLoad = window.onload;
window.onload = function () {
if (typeof(BildertickerController.oldWinOnLoad) == "function") {
BildertickerController.oldWinOnLoad();
}
BildertickerController.onload();
};
}
Liebe(r) Shyne,
ergänzend zu Gunnars sehr wertvollen Link gleich noch eine Anmerkung:
Wenn Du den Lehrgang zum FaderFramework wirklich durchgearbeitet hättest, anstatt Dir nur die für Dich brauchbaren Codeschnipsel herauszukopieren, dann hättest Du einiges verstanden, was Dir Dein jetziges Problem von vornherein erspart hätte. Erwarte als (zumindest von meiner Seite) keine Hilfe mehr, solange Du das eigenständige Arbeiten verweigerst.
Ich helfe Dir jedoch gerne beim Verstehen des Lehrgangs, bzw. des von Gunnar verlinkten Artikels weiter, denn dann zeigst Du ja Lernbereitschaft.
Liebe Grüße,
Felix Riesterer.
Hallo,
@ Martin:
bitte lass das Problem da, wo es schon besprochen wird, und vermeide Doppelpostings. Danke.
Falls du beide gelesen hast, ...
ich *habe* beide gelesen, und zwar aufmerksam.
hättest du gemerkt, dass es absolut unterschiedliche Probleme sind! Die haben fast nichts miteinander zu tun. Das einzige Bindeglied bin ich.
Nein. Die Parallele, die mir auffiel, war nicht der Autor, sondern dass es sich beidesmal anscheinend um dasselbe Projekt handelte - erkennbar am Aufruf von fade() im onload-Event.
Ich finds aber weitaus sinnvoller (auch für Googlende oder Mitlesende) die Themen nach Themen und Inhalt zu sortieren und nicht nach Autoren...
Ich lasse weder nach Thema noch nach Autor sortieren, sondern nach dem Zeitpunkt der Thread-Erstellung.
Wenn ich einen anderen Namen angegeben hätte, wäre die Verbindung nämlich nicht da.
Doch, die Überschneidung war zu groß. Ist ja nicht so, dass ich erst den Verfasser ansehe und mir dann einfällt, "Von dem hatte ich doch neulich schon was", sondern das merke ich erst beim Lesen des Posting-Inhalts.
Soweit ich weiss, beziehen sich Doppelposts immer auf den Inhalt.
Jein. Auch Fragen zu anderen Einzelheiten desselben Projekts werden häufig als Doppelpostings eingestuft - gerade *weil* der Kontext immer noch derselbe ist, und eventuell notwendige Zusatzinformationen schon im alten Thread vorhanden sind, während sie im neuen erst wieder nachgefragt (oder wiederholt) werden müssen.
Ohne diese Zusatzinformation aus dem alten Thread hätte unknown auch nicht ahnen können, wie deine Eventhandler gesetzt werden und dass sie sich möglicherweise beeinflussen.
Ich hoffe, du siehst es nun auch so wie ich.
Nein. Aber da hier auch schon wieder einige potentiell hilfreiche Hinweise aufgelaufen sind, lasse ich den Thread nun stehen. Ich bitte dich trotzdem, beim nächsten Mal miteinander verwandte Informationen auch an einer Stelle zusammenzuhalten.
Schönen Sonntag noch,
Martin
Ohne diese Zusatzinformation aus dem alten Thread hätte unknown auch nicht ahnen können, wie deine Eventhandler gesetzt werden und dass sie sich möglicherweise beeinflussen.
Nicht, dass ich mich nicht an den anderen Beitrag erinnert hätte, aber welche Zusatzinformationen soll ich noch gebraucht haben?
Oder sprichst du von dem gesperrten Thread? Von diesem habe ich Informationen genommen, das kannst du ihm aber kaum vorwerfen.
Hallo,
Ohne diese Zusatzinformation aus dem alten Thread hätte unknown auch nicht ahnen können, wie deine Eventhandler gesetzt werden und dass sie sich möglicherweise beeinflussen.
Nicht, dass ich mich nicht an den anderen Beitrag erinnert hätte, aber welche Zusatzinformationen soll ich noch gebraucht haben?
du hast zitiert:
start: function () {
this.oldWinOnLoad = window.onload; window.onload = function () { if (typeof(BildertickerController.oldWinOnLoad) == "function") { BildertickerController.oldWinOnLoad(); } BildertickerController.onload(); }; }
Und das finde ich im [Beitrag, der meiner Sperrung folgte](https://forum.selfhtml.org/?t=192673&m=1286079), nicht. Also nahm ich an, dass du diese Zeilen aus dem Originalthread zusammengesucht hast.
> Oder sprichst du von dem gesperrten Thread? Von diesem habe ich Informationen genommen, das kannst du ihm aber kaum vorwerfen.
Da finde ich nur einen Link auf die funktionierende Fassung von Felix. Die kann ja wohl nicht gemeint sein.
So long,
Martin
--
"Wie geht eigentlich dein neues Auto?"
"Es geht nicht, es fährt!"
"Äh, ja. Und wie fährt es?"
"Och, es geht."
Lieber Martin,
du hast zitiert:
start: function () {
this.oldWinOnLoad = window.onload; window.onload = function () { if (typeof(BildertickerController.oldWinOnLoad) == "function") { BildertickerController.oldWinOnLoad(); } BildertickerController.onload(); }; }
>
> Und das finde ich im [Beitrag, der meiner Sperrung folgte](https://forum.selfhtml.org/?t=192673&m=1286079), nicht.
dieser Code entstammt meiner [Bilderticker-Seite](http://www.felix-riesterer.de/self/bilderticker/), wo er die Bedienknöpfe für die verschiedenen Parameter der Beispielknöpfe regelt. Wie und wann unknown diesen Code gefunden und dann gepostet hat, kann auch ich nicht nachvollziehen, da er bisher hier im Forum noch nicht Gegenstand war. Er ist auch im HTML-Dokument direkt notiert, anstatt in einer externen JS-Datei wie der Bilderticker, eben weil er selbst nicht zum Bilderticker gehört.
Liebe Grüße,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
dieser Code entstammt meiner Bilderticker-Seite
Und den Link hat Shyne im gesperrten Thread auch schon mal gebracht. In diesem ist der Link verloren gegangen.
-_- Also ich bin die ganze Zeit am lesen und schnall das nicht. Besonders schwierig machts mir, dass die Beispiele ganz anders gestaltet sind. Ich habe kein Bsp das sich mit meinem vergleichen lässt und Ahnung habe ich auch nicht = nicht so gut.
Ich möchte doch nur, dass zwei Scrips ausgeführt werden, aber NEEEEEEEEIN :(
Hi,
-_- Also ich bin die ganze Zeit am lesen und schnall das nicht.
Dann liest du vielleicht an den falschen Stellen?
An welchen, die für's Verständnis schon mehr Grundkenntnisse voraussetzen, als du hast?
Besonders schwierig machts mir, dass die Beispiele ganz anders gestaltet sind. Ich habe kein Bsp das sich mit meinem vergleichen lässt und Ahnung habe ich auch nicht = nicht so gut.
Na ja, dann weisst du ja, was du ändern musst.
MfG ChrisB
Na ja, dann weisst du ja, was du ändern musst.
Was ich müsste. Aber das ist da alles viel zu kompliziert schon für mich. Die Methoden sind viel komplexer. Ich müsste erstmal rausfinden, wie ich meine Funktion anders aufrufe, was noch gehen mag aber dann den anderen Script so ändern, dass ich den Funktionsaufruf dann auch da anbinden kann. Da sist mir dann einfach zu hoch.
Najaa..
Was an diesem funktionierenden Beispiel verstehst du nicht?
windows.onload=function() {
// hier dein Startupcode reinschreiben
};
mit dem Aufruf (vor obigem code)
oldOnLoad=windows.onload;
merkst du dir den alten Eventhandler.
Die Überprüfung auf Gültigkeit sollte man verstehen können.
Und mit
oldOnLoad();
rufst du den alten Handler auf.
Das baust du zusätzlich zu deinem Startupcode in den Aufruf und alles sollte funktionieren.
Danke, ich habe erstmal das einfach fallen lassen und bin bei marquee geblieben.
Als ich den Code da eingefügt habe und den anderen Script + onload Tag dafür aus dem Dokument entfernt, ging wieder nichts. Ich schnalls wohl nicht.
JS ist viel komplizierter als ich gedacht hätte.
OK, letzter Versuch. Was ist mit dem Ansatz von JürgenB? Der ist hier sicher einfacher. Dort wird ein anderer (neuerer) Eventhandlingmechanismus verwendet.
Damit überschreibst du dir also 1. keine weiteren onload-Handler in der onload-Eigenschaft des Windowsobjektes und 2. sind dort schon von Hause aus mehrere Handler möglich, die dann vom Browser verwaltet werden.
Wenn du die dort erwähnte Funktion benutzt, brauchst du anstelle der onload-Eigenschaft im Bodytag nur noch addEventlistener aufrufen.
Ich finde es super, dass du nicht aufgegeben hast :) Ich habe da ja eher resigniert. Leider habe ich wirklich kein JS Wissen, ich bin kein Beginner sondern nicht Könner muss ich mir eingestehen! Ich bin da einfach nocht nicht drin, fremde Materie... Deshalb kann mir das schon auf der theorethischen Ebene schlecht vorstellen, wahrscheinlich verstehen wir uns da schon falsch.
Das Problem bei der Bilderschau ist doch, dass ich ja keine "Funktion" in dem Sinne habe. Der Code ist absolut kompliziert für mich. Ansonsten könnte ich versch. Funktionen anreihen. Und alle Methoden, egal wie wenig ich sie verstehe, setzen aber eine Funktion/einen Funktionsnamen heraus. Der JS Code für die Bilder startet aber sein eigenes Ding und ziehts voll durch...
Hier nochmal, welchen Code ich nutze:
Der JS Code
Naja, bin jetzt sehr müde sonst würde ich noch versuchen was zu begreifen und etwas (wenn auch erfolglos) herumzuprobieren.
Nochmal vielen Dank!
Hallo,
wie breits geschrieben, komme ich nicht weiter.
http://phpperformance.de/javascript-event-onload-und-die-bessere-alternative/
hat nicht geklappt
http://molily.de/js/einbindung.html#traditionell-nachteile
kapier ich nicht
<body onload="fade(),zweitefunktion()">
verstehe ich, klappt aber nicht, weil der bilderticker schon selbst onload macht. finde im code keine funktion die dann einfach aufrufen könnte, der code ist für mich etwas zu kompliziert.
neue funktion definieren um das obere zu machen, verstehe ich auch aber hilft genauso wenig in diesem fall.
also wenn jemand nun keine lust mehr hat auf spielchen und helfen möchte, würde ich mich freuen. ich würde es nämlich gerne zum laufen bekommen.
und ja, ich kann immernoch kein js.
danke schonmal
Hallo Shyne,
mit
window.onload = ...
oder
<body onnload="...">
überschreibst du die schon vorhandenen Onload-Eventhandler. Du musst Events "hinzufügen". Auf den Seiten von Matthias gibt es eine Funktion, die so etwas macht:
der Aufruf ist ganz einfach:
addEvent(window,"load",ladefunktion);
oder
addEvent(window,"load",function() { tu_was_nach_dem_laden(parameter) } );
Gruß, Jürgen