Antworten auf deine Fragen:
Neues Thema erstellen

Flash klick ereignisse mit jquery abfangen

proximate

Nicht mehr ganz neu hier

Hallo miteinander,

ich bastle gerade an einer Map (Schweiz) welche ich als joomla Modul von joomlaxtc erworben habe - da ich vom support bisher keine Antwort erhalten habe wende ich mich nun mal an euch.

Folgendes Szenario :

Das Modul (eine schweizer Karte mit getrennten Kantonen als Klickfläche)
soll als Menü dienen. Je nach angeklicktem Kanton soll ein bestimmtes Div angezeigt werden.

Die Kantone sind im Flash folgendermassen getrennt :
HTML:
...
<param name="flashvars" value="emptyColor=#C0C0C0&showShadow=true&Regions=name=   | id=AG | tag=AG | showTag=false | link= | target=_self |  defaultColor=#E0E0E0 | hoverColor=#3191CD | showTip=true |  ttTitle=Aargau | ttBody= | ttFg=#000000 | ttBg=#ffffff |  ttAlpha=100name=  | id=AR | tag=AR | showTag=false | link= |  target=_self | defaultColor=#E0E0E0 | hoverColor=#3191CD | showTip=true |  ttTitle=Appenzell+Ausserrhoden | ttBody= | ttFg=#000000 | ttBg=#ffffff |  ttAlpha=100name=  | id=AI | tag=AI | showTag=false | link= |  target=_self | de...Color=#E0E0E0 | hoverColor=#3191CD | showTip=true |  ttTitle=Vaud | ttBody= | ttFg=#000000 | ttBg=#ffffff | ttAlpha=100name=   | id=ZH | tag=ZH | showTag=false | link= | target=_self |  defaultColor=#E0E0E0 | hoverColor=#3191CD | showTip=true |  ttTitle=Z%26%23252%3Brich | ttBody= | ttFg=#000000 | ttBg=#ffffff |  ttAlpha=100name=  | id=ZG | tag=ZG | showTag=false | link= |  target=_self | defaultColor=#E0E0E0 | hoverColor=#3191CD | showTip=true |  ttTitle=Zug | ttBody= | ttFg=#000000 | ttBg=#ffffff | ttAlpha=100"></object>
Beim Versuch direkt mit den ID's zu arbeiten bin ich gescheitert.
Also sprich die ID GR anzusprechen klappte nicht,
was mich auch wunderte, im Quelltext von Firebug sind nur 3 oder 4 kantone ersichtlich aber nicht alle obwohl alle da sein sollten (sie werden ja angezeigt) schonmal sowas gesehen?
Was ich machen kann im Backend des Moduls :
href definieren

Link zur Testpage

Der jquery Code noch kurz gepastet :
Code:
$(document).ready(function()
{
    // <![CDATA[
    $('.hideall').hide();
    $('#GR').click(function() {
        $('.hideall').fadeOut(400).delay(500),
        $('#GR_Info').fadeIn(400, function() {
            // Animation complete.
        });
    });
    $('#SG').click(function() {
        $('.hideall').fadeOut(400).delay(500),
        $('#SG_Info').fadeIn(400, function() {
            // Animation complete.
        });
    });
    // ]]>
});
</script>
PS return false wird noch eingebaut ;)

*Edit :

Habe gerade im FF Quelltext Editor entdeckt das die flashvars bereits mit javascript definiert wurden siehe (Was mir Firebug nicht anzeigte da ich nicht in den Scripts gesucht habe):
Code:
<script type="text/javascript"> 	var flashvars = {}; 	flashvars.emptyColor = "#C0C0C0"; 	flashvars.showShadow = "true"; 	flashvars.Regions = "";  flashvars.Regions += "name=  | id=AG | tag=AG | showTag=false | link= | target=_blank | defaultColor=#E0E0E0 |

etc.
 
Zuletzt bearbeitet:

hub

nicht ganz neu hier

AW: Flash klick ereignisse mit jquery abfangen

Moin moin,
Für den Moment habe ich keine Antwort auf dein Problem, nur das bei dir in der "script.js" $.browser aufgerufen wird, das es in der neuen jQuery-Version nicht mehr gibt. Ergebnis: Fehler und Script-Abbruch.
Wenn du die neue Version nutzen willst, hilft dir das jQuery Migrate Plugin.

Gruß Ulli
 

proximate

Nicht mehr ganz neu hier

AW: Flash klick ereignisse mit jquery abfangen

jap kommt von daher dass das grund template aus artisteer stammt... ;) known issue aber danke für den tipp werde das noch in meine ToDo Liste aufnehmen.

******** Update ************

im DOM existieren die ID's als region siehe :

flashvarsObject { emptyColor="#C0C0C0", showShadow="true", Regions="name= | id=AG | tag=AG...g=#ffffff | ttAlpha=100"}

Kann man diese nicht ansprechen?
:'( ich dreh noch durch das muss doch gehen :p
 
Zuletzt bearbeitet:

mindraper

me[code].Java(Script)

AW: Flash klick ereignisse mit jquery abfangen

hi

1)
flash ist ein abgeschlossenes containerformat. wenn innerhalb des darin enthaltenen actionscript codes nicht die möglichkeit der kommunikation mit der aussenwelt eingeplant wurde, wirst du meines wissens nach scheitern.

2)
jquery ist nicht dafür gedacht, um mit flash zu interagieren. dafür gibt's actionscript. falls punkt 1) zutrifft, gibt es allerdings die möglichkeit via actionscript (sprich: aus flash) mit der aussenwelt zu kommunizieren – sowohl mit dem browser (beispielsweise über "goTo(...)" direkt in actionscript) oder eben mit – javascript :). ich bin kein ausgesprochener "flasher", nur wenn ich muss. daher möchte ich mich nur ungern zu weit aus dem fenster lehnen mit meinen aussagen – entsprechende community mitglieder sollen meine (falls) unzutreffenden aussagen bitte korrigieren :)

was genau jquery tut wenn du $('#what_so_ever') tippst, dass allerdings kann ich dir genau sagen:

jquery beginnt, das markup der page zu durchsuchen nach einem element mit der angegebenen id. sprich: deinen html-code. unter der haube spielt sich dabei (stark vereinfacht) folgendes ab:

PHP:
function $(selector, context) {
    /* -> if (there is a) context (given) AND context (has) getElementById */
    if (context && context.getElementById) {
        /* (find and) return (from) context (the) element (with id) "selector" */
        return context.getElementById(selector);
    }
   
    /* (else)
        (find and) return (from) document (the) element (with id) "selector" */
    return document.getElementById(selector);
}

genau genommen "zerlegt" jquery den parameter "selector" in einzelteile, die dann ausgewertet werden – aber das obige ist das wesentliche.

falls du auf die idee kommen solltest, für "context" die flashVars einzusetzen: vergiss es :) . als zweites argument (selector = argument 1, context = argument 2) sind nur

- window
- document
- ein DOMNode
- eine nodeList
- ein anderes jquery object

zulässig. bei allem anderen wird dir jquery einen fehler auswerfen.

leider hilft dir das zwar nicht bei deinem ursprünglichen problem, aber wenigstens weisst du jetzt, dass du jquery für diesen einsatzzweck vergessen kannst :) .

ansonsten drück' ich dir die daumen, dass es iwie funzt!
 
Zuletzt bearbeitet:

proximate

Nicht mehr ganz neu hier

AW: Flash klick ereignisse mit jquery abfangen

okey, super :) Danke für die tolle erklärung :-D
ja eben dann hab ich noch den plan b mit der imageMap in der Hinterhand -zwar nicht so luxuriös in der ausführung (da nicht mit einem modul in joomla hinterlegt **resp NOCH nicht :p)
aber den prototypen davon habe ich bereits am laufen von daher :-D

danke für deinen Input mindraper
 

hub

nicht ganz neu hier

AW: Flash klick ereignisse mit jquery abfangen

Moin moin,
ich habe mir gerade mal die Modulbeschreibung angeschaut, eigentlich steht dort alles was du brauchst. Bei dieser Art der Symbiose hilft dir nur das Studium des Module-Quellcodes. Flash ist nur in der Lage darin definierte Javascriptfunktionen aufzurufen. Entweder du nutzt die Joomla-Optionen des Plugins oder du machst im Modul die Javascript-Callback Funktionen ausfindig und passt diese deinen Vorstellungen an - sofern die Lizenz das gestattet.

Gruß Ulli
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: Flash klick ereignisse mit jquery abfangen

Wenn ich das richtig sehe, kannst du pro Region einen Link und insbesondere einen Anker setzen
Code:
flashvars.Regions += "name=  | id=TI | tag=TI | showTag=false | [B]link=%23TI[/B] | target=_self | defaultColor=#E0E0E0 | hoverColor=#3191CD | showTip=true | ttTitle=Ticino | ttBody= | ttFg=#000000 | ttBg=#ffffff | ttAlpha=100";
welcher (zumindest bei mir in Chromium) normal an die URL angehängt wird.
Diesen Fakt könntest du mit dem hashchange-jQuery-PlugIn kombinieren und auf jeden Anker individuell reagieren. Das ist vielleicht nicht die schickste Möglichkeit, aber ich sehe gerade keinen Grund warum es nicht funktionieren sollte.


Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.476
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben