HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum
 

 
 

Anzeige 
 
HTMLWorld » Forum

Thema anzeigen - javascript-Funktion in xsl wird nichtgefunden / ausgefuehrt

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

javascript-Funktion in xsl wird nichtgefunden / ausgefuehrt

 

Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Vorheriges Thema:
Nächstes Thema:  
Autor Nachricht
Herbie



Anmeldungsdatum: 21.11.2006
Beiträge: 2

BeitragVerfasst am: 21.11.2006 11:13:34    Titel: javascript-Funktion in xsl wird nichtgefunden / ausgefuehrt Antworten mit Zitat

Hallo,

ich habe hier ein Anfänger- Problem mit einer javascript-Funktion in XSL. Ich muss ein vorhandenes xsl erweitern. Die Javascript-Funktionen dieses xsl stehen in einer separaten .js-datei.
meine Problemzeile sieht so aus:

<img width="weite()" onMouseOver="gifOn(this)" onMouseOut="gifOff(this)" title="Zurueck Blaettern" alt="" src="style/blaetternrueck.gif" align="texttop"/>

Die beiden Funktionen gifOn und gifOff waren schon drin und funktionieren einwandfrei (angezeigtes icon wechselt bei überfahren mit der Maus). Die Funktion weite() ist von mir da rein gebracht worden und tut nix...
der entsprechende Ausschnitt aus der .js datei:
Code:

function weite(){
   var w=150;
}
function gifOn(obj) {
    obj.src = obj.src.replace(/\.gif$/,'_h.gif');
}
function gifOff(obj) {
    obj.src = obj.src.replace(/_h\.gif$/,'.gif');
}

Sinn des Ganzen: Die Größe des Icons soll (später mal - wenn er die Funktion überhaupt erkennt) abhängig von der Größe des Fensters sein, aber mit einem Minimum und einem Maximum. Dazu will ich in Javascript die Größe des Fensters abfragen und die Höhe des Icons daran anpassen. Die Funktion dazu hätte ich auch schon, ich habe hier nur Einfachheit halber den Code minimalisiert (auch in meinen Dateien natürlich).
Setze ich die Funktion in {} (also: <img width="{weite()}" ...), bekomme ich die Fehlermeldung "Funktion nicht gefunden"...
Packe ich die Funktion direkt mit in das XSL (unter -Template- mit (ich lasse die <> mal weg... wer weiss was das hier im text anrichtet...) html-head-script-[javascript]- /head-body-[xsl]- /body-usw..., passiert ebenfalls nix...

Liegt das Problem vielleicht daran, dass die Funktion unter "width" nicht ausgeführt wird, unter "OnMouseOver" aber schon ???
Wenn ja: Wie kriege ich es hin, dass der Wert unter width bei jedem Ändern der Fenstergröße angepasst wird ????

Ach ja: Da es vorgegeben ist, kann ich leider nicht einfach auf eine html-Datei ausweichen (die mit dem javascript-Code problemlos funktioniert...).

Ãœbrigens: Wer es noch nicht bemerkt hat: Ich habe von javascript keinen blassen Schimmer... bisher hat einfaches kopeiren und leichtes Anpassen mit recherche im Web ausgreicht...

mit einem verzweifelten Seufzen und der Hoffnung auf Hilfe...
Danke,
Herbie
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kambfhase
Häufiger Poster


Anmeldungsdatum: 19.03.2006
Beiträge: 235

BeitragVerfasst am: 21.11.2006 14:25:27    Titel: Antworten mit Zitat

ich hbae sowas zwar noch nie probiert und weis deswegen nicht ob es geht, aber ich kann dir vllt 2 loesungen an bieten:

1. per return:
Code:
XSL:
<img width="weite()" onMouseOver="gifOn(this)" onMouseOut="gifOff(this)">

JS:
function weite(){
  var w=150;
  return w
}


2. per objekt:
Code:
XSL:
<img width="weite(this)" onMouseOver="gifOn(this)" onMouseOut="gifOff(this)">

JS:
function weite(obj){
  obj.style.width=150;
}


hoffe eine davon geht.

MfG Hase
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Herbie



Anmeldungsdatum: 21.11.2006
Beiträge: 2

BeitragVerfasst am: 21.11.2006 15:44:31    Titel: Antworten mit Zitat

Hallo Kambfhase,

danke für die Antwort,
inzwischen habe ich im selfHTML-Forum eine Lösung bekommen, die in etwa deiner 2. Lösung entspricht.

Danke,
Herbie
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.