mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 06:12 Benutzername: Passwort: Auto-Login

Thema: [JS] Was macht .init? Problem für body onload? vom 16.06.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [JS] Was macht .init? Problem für body onload?
Autor Nachricht
buchstabensuppe
Threadersteller

Dabei seit: 14.09.2004
Ort: Wuppertal
Alter: 40
Geschlecht: Männlich
Verfasst Mi 16.06.2010 12:07
Titel

[JS] Was macht .init? Problem für body onload?

Antworten mit Zitat Zum Seitenanfang

Mahlzeit!

Ich verzweifle gerade mit meinem JS-Halbwissen an einem Problem.

Ich habe zwei Scripts ein eine Seite eingebunden, es funktioniert allerdings nur eins.
Dabei handelt es sich um einen kleinen ImageScroller, der über body onload aufgerufen wird. Das andere ist ein Tooltip Script welches, soweit ich das erkennen kann, erstmal alle Tags durchforstet und die title Tags durch eine Tooltip-Funktion ersetzt.

Gehe ich richtig in der Annahme, dass folgender Schnipsel das Script automatisch startet?
Zitat:
tooltip.init = function () {

Leider finde ich nichts über die .init Funktion. Könnte mir diese jemand kurz erklären?

Könnten sich die beiden Anweisungen evtl. in die Quere kommen?
Also .init und onload? Beide Scripts laufen, wenn getrennt, prima.


Danke und Gruß
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 16.06.2010 12:17
Titel

Antworten mit Zitat Zum Seitenanfang

am besten du verlinkst die seite oder postest die beiden scripts komplett, so kann man dir nicht helfen.

Zuletzt bearbeitet von m am Mi 16.06.2010 12:17, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
SimonDerDude

Dabei seit: 15.01.2010
Ort: error: undefined
Alter: 35
Geschlecht: Männlich
Verfasst Mi 16.06.2010 12:19
Titel

Antworten mit Zitat Zum Seitenanfang

Wenn das JQuery ist beachte das:

http://api.jquery.com/jQuery.noConflict/
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
buchstabensuppe
Threadersteller

Dabei seit: 14.09.2004
Ort: Wuppertal
Alter: 40
Geschlecht: Männlich
Verfasst Mi 16.06.2010 12:20
Titel

Antworten mit Zitat Zum Seitenanfang

Scroller, wird aufgerufen mit <body onload="initVS5()">. $strAusgabe wird vorher in einem PHP Script zusammengesetzt.
Zitat:
vs5Arr = [<? echo $strAusgabe; ?>];

sv3Timer = null;

preload = new Array();
for (var scrolleri=0; scrolleri<vs5Arr.length; scrolleri++) {
preload[scrolleri]=new Image();
preload[scrolleri].src=vs5Arr[scrolleri][0];
}

function initVS5() {
scrollBox = document.getElementById("scroll_box");
scroll1 = document.getElementById("scroller1");
for (var jLogoScrollScript=0; jLogoScrollScript<vs5Arr.length; jLogoScrollScript++) {
scroll1.innerHTML+='<img id="pic'+jLogoScrollScript+'" src="'+preload[jLogoScrollScript].src+'" alt="'+vs5Arr[jLogoScrollScript][2]+'" title="'+vs5Arr[jLogoScrollScript][2]+'" /><br />';
}
scrollBox.style.width=203+"px";
scroll2=document.getElementById("scroller2");
scroll2.innerHTML=scroll1.innerHTML;
scroll2.style.top=scroll1.offsetHeight+"px";
scrollVS5();
}

function scrollVS5(){
clearTimeout(sv3Timer);
scroll1Pos=parseInt(scroll1.style.top);
scroll2Pos=parseInt(scroll2.style.top);
scroll1Pos+=-2;
scroll2Pos+=-2;
scroll1.style.top=scroll1Pos+"px";
scroll2.style.top=scroll2Pos+"px";
sv3Timer=setTimeout("scrollVS5()",60);
if (scroll1Pos< -scroll1.offsetHeight) scroll1.style.top=scroll1.offsetHeight+"px";
if (scroll2Pos< -scroll1.offsetHeight) scroll2.style.top=scroll1.offsetHeight+"px";
}


Und das Tooltip-Script
Zitat:
var qTipTag = "a"; /* Für welche Tags gilt der qTip? */
var qTipX = 10; /* X offset */
var qTipY = 5; /* Y offset */

tooltip = {name : "qTip", offsetX : qTipX, offsetY : qTipY, tip : null}

tooltip.init = function () {
var tipNameSpaceURI = "http://www.w3.org/1999/xhtml";
if (!tipContainerID) var tipContainerID = "qTip";
var tipContainer = document.getElementById(tipContainerID);
if (!tipContainer) {
tipContainer = document.createElementNS ? document.createElementNS(tipNameSpaceURI, "div") : document.createElement("div");
tipContainer.setAttribute("id", tipContainerID);
document.getElementsByTagName("body").item(0).appendChild(tipContainer);
}
if (!document.getElementById) return;
this.tip = document.getElementById (this.name);
if (this.tip) document.onmousemove = function (evt) {tooltip.move (evt)};

var a, sTitle, elements;
var elementList = qTipTag.split(",");
for (var j = 0; j < elementList.length; j++) {
elements = document.getElementsByTagName(elementList[j]);
if (elements) {
for (var i = 0; i < elements.length; i ++) {
a = elements[i];
sTitle = a.getAttribute("title");
if (sTitle) {
a.setAttribute("tiptitle", sTitle);
a.removeAttribute("title");
a.removeAttribute("alt");
a.onmouseover = function() {tooltip.show(this.getAttribute('tiptitle'))};
a.onmouseout = function() {tooltip.hide()};
}
}
}
}

}

tooltip.move = function (evt) {
var x=0, y=0;
if (document.all) {//IE
x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
x += window.event.clientX;
y += window.event.clientY;

} else {//Good Browsers
x = evt.pageX;
y = evt.pageY;
}
this.tip.style.left = (x + this.offsetX) + "px";
this.tip.style.top = (y + this.offsetY) + "px";
}

tooltip.show = function (text) {
if (!this.tip) return;
this.tip.innerHTML = text;
this.tip.style.display = "block";
}

tooltip.hide = function () {
if (!this.tip) return;
this.tip.innerHTML = "";
this.tip.style.display = "none";
}

window.onload = function () {
tooltip.init ();
}


Zuletzt bearbeitet von buchstabensuppe am Mi 16.06.2010 12:36, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
buchstabensuppe
Threadersteller

Dabei seit: 14.09.2004
Ort: Wuppertal
Alter: 40
Geschlecht: Männlich
Verfasst Mi 16.06.2010 12:22
Titel

Antworten mit Zitat Zum Seitenanfang

Azazael hat geschrieben:
Wenn das JQuery ist beachte das:

http://api.jquery.com/jQuery.noConflict/

JQuery ist in diesem Fall nicht mit dabei
  View user's profile Private Nachricht senden
buchstabensuppe
Threadersteller

Dabei seit: 14.09.2004
Ort: Wuppertal
Alter: 40
Geschlecht: Männlich
Verfasst Mi 16.06.2010 13:01
Titel

Antworten mit Zitat Zum Seitenanfang

Okay, funzt.

Ich habe im TooltipScript den Autostart rausgenommen.
Zitat:
window.onload = function () {
tooltip.init ();
}


und rufe nun über onload beide Scripts auf.
Zitat:
<body onload="initVS5(); tooltip.init();">
  View user's profile Private Nachricht senden
 
Ähnliche Themen body {padding} und body{height:100%} möglich
HTML/CSS Problem mit <html><body> komischer Abstand unten
jquery Toggle onLoad
onLoad und CSS - background-image
javascript onload um div später zu laden
Vorlage im DW erstellt -> onload nur auf der index.php seite
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.