Flashhilfe.de - Flash Community

JS-Rollover - falsches Ziel

 


AntwortenRegistrieren Seite1  

antiker#1
Benutzerbild von antiker
Beiträge: 2
Registriert: Jan 2010

24.01.2010, 07:41

Hallo zusammen, ich habe da ein Problem mit einer HP die ich teilweise mit Dreamweaver erstellt habe. Folgende Situation:

Die HP besteht aus zwei horizontal übereinanderliegenden Frames.
index.html:
  frame name="oben" src="interface.html"
  frame name="unten" src="startseite.html"

Mit Photoshop habe ich ein Interface mit 4 Buttons erstellt und die Slices dazu gesetzt, dann im Dreamweaver hab ich den Rollover für jeden Button erstellt und das ganze dann als "interface.html" gespeichert, das Problem ist nun das beim Klick auf einen der 4 Buttons die Ziel Seite im selben Frame geöffnet wird, es soll aber im zweiten Frame geöffnet werden also im Frame "unten", allerdings komme ich mit dem JavaScript Code den der Dreamweaver erstellt hat nicht klar :(

Hier ein Auszug aus der interface.html:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            <td><a href="gallerie/index.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Gallerie','','interface/button_1_over.jpg',1)">
                <img src="interface/button_1.jpg" alt="Gallerie" name="Gallerie" width="120" height="26" border="0"></a>
            </td>
            <td rowspan="2">
                <img src="interface/interface_04.jpg" width="40" height="53" alt="">
            </td>
            <td><a href="uebermich.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Über Mich','','interface/button_2_over.jpg',1)">
                <img src="interface/button_2.jpg" alt="Über Mich" name="Über Mich" width="120" height="26" border="0"></a>
            </td>
            <td rowspan="2">
                <img src="interface/interface_06.jpg" width="80" height="53" alt="">
            </td>
            <td><a href="kontakt.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Kontakt','','interface/button_3_over.jpg',1)">
                <img src="interface/button_3.jpg" alt="Kontakt" name="Kontakt" width="120" height="26" border="0"></a>
            </td>
            <td rowspan="2">
                <img src="interface/interface_08.jpg" width="40" height="53" alt="">
            </td>
            <td><a href="impressum.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Impressum','','interface/button_4_over.jpg',1)">
                <img src="interface/button_4.jpg" alt="Impressum" name="Impressum" width="120" height="26" border="0"></a>
            </td>


und hier der Script Teil der die Rollover steuert:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,xif(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


Wie muss ich das abändern damit er beim Klick auf die Buttons die Ziel URL im zweiten unteren Frame öffnet und nicht im oberen?
vindel#2
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

24.01.2010, 21:07

Hallo,

dein Javascript steuert NUR den Roll-over-effekt - mehr nicht! Also hat der nichts mit deinem problem zu tun.

Wenn du mal verschiedene Referenzen über Frames dir anschaust, dann wird dir der Befehl "target" auffallen.. mit diesem kannst du HTML sagen, in welchem Ziel er den Link öffnen soll. Dort trägst du dann den namen der Frame ein:
PHP:
1
2
3
4
<?
<a href="kontakt.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Kontakt','','interface/button_3_over.jpg',1)" target="unten">
?>
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
antiker#3
Benutzerbild von antiker
Beiträge: 2
Registriert: Jan 2010

Themenautor/in

28.01.2010, 05:27

genau das wars was gefehlt hat, vielen dank dafür!

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de