mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 00:19 Benutzername: Passwort: Auto-Login

Thema: Zugreifen auf eingebettetes svg von externem javascript vom 24.08.2011


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Zugreifen auf eingebettetes svg von externem javascript
Autor Nachricht
Deridjian
Threadersteller

Dabei seit: 28.07.2010
Ort: Berlin
Alter: 39
Geschlecht: Männlich
Verfasst Mi 24.08.2011 04:00
Titel

Zugreifen auf eingebettetes svg von externem javascript

Antworten mit Zitat Zum Seitenanfang

Hallo liebe Kollegen!

Habe auch mal wieder ein Problem ._.
In einem .html dokument ist ein .svg eingebettet:
Code:
<object id="homecircles" data="./img/homecircles.svg" type="image/svg+xml" width="415px" height="443px" class="svg">


an der selben .html datei ist ein javascript file angehängt mit folgender funktion:
Code:
   $(function() {
      $('#refcontainer').click(function() {
         var refcontainer = document.getElementById("refcontainer");
         $(refcontainer).animate({
            height: '77.5%',
            top: '4.5%'
         }, {
            queue: false,
            duration: 500
         });
         window.setTimeout( 'window.location = ("./referenzen.html")', 510 );
         return false;
      });
   });


Soweit alles wunderbar. Ich möchte nun diese Funktion mit .click Event aber auch für ein Objekt innerhalb der svg datei verfügbar machen. Besagtes Pfad-Objekt hat in der svg-datei auch eine ID ("cirlceone").
Die (mir) sinnvollste Lösung die ich ausfindig machen konnte war diese hier:
Code:
document.getElementById('x').contentDocument.documentElement.getElementById('y')

Ich habe dann versucht eine variable zu erstellen um sie dem click event hinzuzufügen, aber daran scheitere ich leider auch nach vielem Suchen und Probieren:
Code:
   $(function() {
      var circleone = document.getElementById('homecircles').contentDocument.documentElement.getElementById('circleone');
      $('#refcontainer', circleone).click(function() {
         var refcontainer = document.getElementById("refcontainer");
         $(refcontainer).animate({
            height: '77.5%',
            top: '4.5%'
         }, {
            queue: false,
            duration: 500
         });
         window.setTimeout( 'window.location = ("./referenzen.html")', 510 );
         return false;
      });
   });


(Die Notierung der event handler referenzen #refcontainer und circleone habe ich verschieden versucht zu setzen, ohne Erfolg. Das kommt davon wenn man immer nur snippets benutzt ._.")
Bin euch für jeden Vorschlag dankbar.

Deri~


Zuletzt bearbeitet von Deridjian am Mi 24.08.2011 04:01, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Mi 24.08.2011 10:24
Titel

Antworten mit Zitat Zum Seitenanfang

Probier mal
Code:
var circleone = document.getElementById('homecircles').getSVGDocument().getElementById('circleone');
oder so.
Ne Möglichkeit, sich das ganze mal online anzuschaun und/oder Fehlermeldungen aus der Fehlerkonsole wären aber auch sehr hilfreich *zwinker*
  View user's profile Private Nachricht senden
Anzeige
Anzeige
 
Ähnliche Themen Mit PHP auf JavaScript-Variablen Zugreifen
Javascript: mit Variablen auf Formularfelder zugreifen
Steuerung von externem Mc aus MainMc
Einbinden von externem Script
Animationsgeschwindigkeit in Abhängigkeit von externem Sound
wie komm ich an eingebettetes wmf?
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.