1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Javascript + SVG

Discussion in 'Programmieren' started by Vampirella666, Apr 2, 2004.

Thread Status:
Not open for further replies.
  1. Hi leute,
    hoffe ihr könnt mir weiter helfen. ist echt wichtig und selbst find ich den fehler leider nicht.

    hoffe es ist okay, wenn ich den quellcode zum teil hier reinsetzte und dann die kurze erklärung von mir.
    PHP:
    <script type="text/javascript">
     

          function 
    followMouse(evt) {
            var 
    doc=getSVGDoc(evt.getTarget()); 
            var 
    temp=doc.getElementById("hint");
            
    temp.setAttribute("transform","translate("+(evt.getClientX()+15)+","+(evt.getClientY()+30)+")");  
          }
          function 
    switchhint(evt,aimId,vis) {
            var 
    doc=getSVGDoc(evt.getTarget()); 
            var 
    temp=doc.getElementById(aimId);
            
    temp.setAttribute("visibility",vis);  
            
    temp=doc.getElementById("hint");
            
    temp.setAttribute("visibility",vis);  
           
          }
          function 
    getSVGDoc(node) { 
            if(
    node.getNodeType()==9)
              return 
    node;
            else
              return 
    node.getOwnerDocument();
          }
          
          function 
    changeVisibility(evt,targetID){
              var 
    doc=getSVGDoc(evt.getTarget());
              if (
    doc.getElementById(targetID).getAttribute('visibility')=='visible'){
                
    doc.getElementById(targetID).setAttribute('visibility','invisible');
              } else {
                
    doc.getElementById(targetID).setAttribute('visibility','visible');
              };
            }
     </
    script>    

      <
    g>
       <
    text style="font-size:16px; fill:black;">
         <
    tspan id="Raum22Text" x="200" y="52" style="font- weight:bold; fill:black;"22 
         
    </tspan>
       </
    text

      <
    g id="Raum22" transform="translate(1)" class="metalVert"
          
    onmousemove="switchhint(evt,'hintText','visible')" 
          
    onmouseout="switchhint(evt,'hintText','hidden')">
            <
    rect id="Raum22" x="191" y="15" height="60" width="40" opacity=".6" style="fill:#ffffff; stroke:#0b0ec3; stroke-width:1px;">
            <
    animate id="Raum22" attributeName="fill" attributeType="svg" begin="mouseover" dur="mouseover" from="#fbc877" to="#ffffff" fill="freeze"/>
            <
    animate id="Raum22" attributeName="fill" attributeType="svg" begin="mouseout"dur="mouseout" from="#ffffff" to="#fbc877" fill="freeze"/>
           </
    rect>
      </
    g>
    <!--  
    Text im Kasten --> 
      <
    g id="hint" visibility="hidden" style="fontfamily:helvetica;fill:darkblue;font-size:16;stroke:none;font-weight:bold">
        <
    text text-anchor="middle" visibility="visible">
            <
    tspan id="hintText" x="70" y="265" visibility="hidden" tyle="fill:black;">
                   
    Test Text
           
    </tspan>
         </
    text>     
       </
    g>

    <!-- 
      <use 
    xlink:href="#Raum22" onclick="changeVisibility(evt,'hintText');"/>  
    -->




    So hoffe es ist noch einigermaßen übersichtlich.
    der script bewirkt im brinzipt das bei dem Raumplan der Raum22 die Farbe wechselt, wenn ich mit der mouse drüber fahre und der Test Text (id="hintText") dargestellt wird. sobald ich mit der mouse den raum verlasse verschwindet der text auch wieder und die ursprüngliche farbe erscheint.
    jetzt möchte ich zudem, wenn ich auf den Raum einmal auf den Raum klicke,das dann bei mouseoute, der text (id="hintText") erhalten bleibt, und erst beim zweiten klicken auf den Raum der text wieder verschwindet.

    mit: <use xlink:href="#Raum22" onclick="changeVisibility(evt,'hintText');"/>
    funktioniert es zwar aber immer nur ein effekt. d.h. entweder mouseover-mouseout effekt, oder die click funktion!!!
    es funzt mit dem klick aber nur, wenn das use-elemten am ende des ganzen steht. (siehe oben, als kommentar)

    könnt ihr mir weiter helfen???BITTE
     
Thread Status:
Not open for further replies.

Share This Page