Ich finde den Fehler nicht


 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> Javascript
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Amun_RA
Gast

BeitragIch finde den Fehler nicht Antworten mit Zitat

axinio Internet Marketing
hey ich hoffe mir kann hier jemand weiter helfen
Ich moecht ene kleien webpage einrichten, dazu mochte ich ein kleines "dynamisches"-menue erstellen.
Normalerweise code ich keine webpages, daher könnte man wohl vieles besser machen (hab vorallemd en javascript teil ehr "copy paste and adopt" mäßig gemacht)

nun zum code:
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<style type="text/css">
<!--
a:link {
color: #ffff00;
font-size: 14px;
}
a:visited {
color: #00ff00;
font-size: 14px;
}
a:active {
color: #ff0000;
font-size: 14px;
font-family: 'Comic Sans MS';
}
a:hover {
color: #ffff00;
font-size: 14px;
font-family: 'Comic Sans MS';
}
-->
  </style>

<?php
    error_reporting
(E_ALL);
    
ini_set("display_errors",true);
$menue="home";
function 
create_button($name,$link,$sublinks){
global 
$menue;
if(
$menue!=$name){
    echo 
'<script type="text/javascript">
        function exchange_by_over_'
.$name.'(){
            document.getElementById(\''
.$name.'_table\').innerHTML ="
                 <a href=\''
.$link.'\'><img
                 onmouseover=\''
.$name.'_red();\'
                 onmouseout=\''
.$name.'_yellow();\' id=\''.$name.'_button\' alt=\'\'
                 src=\'menue/link_bild.php?text='
.$name.'&status=up\'
                 style=\'border: 0px solid ; width: 130px; height: 43px; background-color: yellow;\'></a><br>
                 '
.$sublinks.'"
        }
        function exchange_by_out_'
.$name.'(){
            document.getElementById(\''
.$name.'_table\').innerHTML ="
                 <a href="'
.$link.'"><img
                 onmouseover="'
.$name.'_button.style.backgroundColor=\'red\';"
                 onmouseout="'
.$name.'_button.style.backgroundColor=\'yellow\';" id="'.$name.'_button" alt=""
                 src="menue/link_bild.php?text='
.$name.'&status=up"
                 style="border: 0px solid ; width: 130px; height: 43px; background-color: yellow;"></a><br>"
        }
        function '
.$name.'_red(){
            '
.$name.'_button.style.backgroundColor=\'red\';
        }
        function '
.$name.'_yellow(){
            '
.$name.'_button.style.backgroundColor=\'yellow\';
        }
    </script>
    '
;

    echo 
'<tr><td id="'.$name.'_table" onmouseover="exchange_by_over_'.$name.'();"  onmouseout="exchange_by_out_'.$name.'();">';
    echo 
'<a href="'.$link.'"><img
     onmouseover="'
.$name.'_button.style.backgroundColor=\'red\';"
     onmouseout="'
.$name.'_button.style.backgroundColor=\'yellow\';" id="'.$name.'_button" alt=""
     src="menue/link_bild.php?text='
.$name.'&status=up"
     style="border: 0px solid ; width: 130px; height: 43px; background-color: yellow;"></a><br>'
;

}
else{
    echo 
'<tr><td>';
    echo 
'<a href="'.$link.'"><img
     onmouseover="'
.$name.'_button.style.backgroundColor=\'red\';"
     onmouseout="'
.$name.'_button.style.backgroundColor=\'yellow\';" id="'.$name.'_button" alt=""
     src="menue/link_bild.php?text='
.$name.'&status=down"
     style="border: 0px solid ; width: 130px; height: 43px; background-color: yellow;"></a><br>'
;
    echo 
$sublinks;
}
echo 
'</td></tr>';
};
?>

<table border="0" width="148" cellpadding="0" cellspacing="0">
<?php
create_button
("home","ich_menue.html","hallo"); //zum testen
create_button("home2","ich_menue.html","hallo2");
?>
</table>


So also das Button erstellen und so funktioniert alels auch das onmouseover/out mit der hintergrundfarbe läuft super.
Allerdings das ausklappen bzw. einkappen beim mouseover/out der tabelle funktioniert nicht.
ich vermute mal das die doppeltverwendung von " ein problem ist/war, daher habe ichim onmouseover teil dies versucht zu umgehen aber dies bracht bisher keinen erfolg. (momentan sind die aufzuklappenden links noch nur text zum ausprobieren)
07 Aug 2011 15:03
Werner
Homepage-Total.de
Moderator

Beitrag Antworten mit Zitat

Da ist ein JavaScript-Fehler drin!
Wie du schon richtig erkannt hast sind die doppelten Anführungszeichen daran Schuld!
Beim Firefox die JavaScript-Konsole anschalten, dieser zeigt dann das folgende:



Ich habe mal die doppelten Anführungszeichen hervorgehoben:


http://www.homepage-total.de/test/netz/2469_2.png

_________________
Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt
07 Aug 2011 17:39
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Amun_RA
Gast

Beitragdanke Antworten mit Zitat

Danke das hat mir sehr geholfen, hab alles in eine zeile geschrieben dann ging es und denn zweiten teil wie den ersten.
mir war nicht klar das ein zeilenumbruch eine rolle spielt.

naja leider funktioniert es immernoch ncith so wie gedacht, in opera verschwindet alles fast sofort wieder wenn ich die maus weiter bewege in firefox kann ich dann die links nciht mehr anklicken und der (sub-)onmouseover funktioniert nicht mehr.

Woran liegt das? Kann man da was machen?
07 Aug 2011 18:34
Werner
Homepage-Total.de
Moderator

Beitrag Antworten mit Zitat

Im Firefox und Chrome funktioniert es,
im Opera und I.Explorer nicht.
Habe einige Tests durchgeführt aber keine Lösung gefunden.

Bevor ich ein JavaScript in PHP einbaue, teste ich es zuvor
in allen Browsern.

_________________
Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt
07 Aug 2011 20:13
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Amun_Ra
Gast

Beitragmhhh Antworten mit Zitat

gibt es einen aderen weg mit php html und javascript das umzusetzen was ich vor habe (also bei mouseover dieses scroll down menue) ?
07 Aug 2011 20:31
Werner
Homepage-Total.de
Moderator

Beitrag Antworten mit Zitat

Ich habe jahrelang dieses Menü gehabt,
die Pflege war jedoch sehr aufwändig und irgendwann hat es nur noch genervt.
Heute bin ich der Meinung das eine Navigation ohne JavaScript besser ist (Stichwort: Barrierefreiheit).

Wenn du das JavaScript nach deiner Aussage nur mit "copy paste and adopt" mäßig gemacht hast,
muss es irgendwo auch ein Original geben und dieses hat sicher nicht nur im Firefox-Browser funktioniert.
Vielleicht hat sich beim kopieren und anpassen ein Fehler eingeschlichen?

_________________
Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt
08 Aug 2011 07:12
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Amun_Ra
Gast

Beitrag... Antworten mit Zitat

Mhh das menue funktioniert und kommt demm recht nahe was ich will,
Problem ist nur ich hab ein verticales menue kein horizontales menue da würden immer die darunterliegenden buttons überlagert. Bei mri sollten die ja den rest weiter nach unten schieben. Seitlich währ enatürlich meine option aber mein javascript ist nciht gut genug um "mal eben" alels um zu schreiben.
Naja mein "copy paste and adopt" war kien fertiges menue sondern mehr oder weniger befehle suchen zund zusammenfügen, rein logisch sollte das auch alels funktionieren tut es nur leider nicht Wink

Hab aber gerade was anderes zusammen geschnitten da ich noch nen anderen befehl gefudnen habe. In opera und Firefox scheint es zu funktionieren. Ich werd es mal in mein php reinbasteln udn sehen ob es auhc mit bidlern und meinen anderen mouseovers funktioniert.


Falls jemand etwas ähnliches sucht und es einfahc halten will (man soltle noch eisntellen, dass beim starten die felder versteckt sind)
Code:

<html>
<head>
<title>Toggle-Beispiel</title>
<script type="text/javascript">
function togglein(obj) {
   var el = document.getElementById(obj);
   if ( el.style.display != 'block' ) {
      el.style.display = 'block';
   }
}
function toggleout(obj) {
   var el = document.getElementById(obj);
   if ( el.style.display == 'block' ) {
      el.style.display = 'none';
   }
}
</script>
</head>

<body>
<table border="1" bordercolor="#FFCC00" style="background-color:#FFFFCC"

width="400" cellpadding="3" cellspacing="3">
   <tr>
      <td>Table Cell</td>
   </tr>
   <tr>
      <td>Table Cell</td>
   </tr>
   <tr>
      <td>Table Cell</td>
   </tr>
   <tr onmouseover="togglein('test');" onmouseout="toggleout('test');">
   <td>
<p style="font-family:verdana,arial,sans-serif;font-size:10px;"><a

href="http://www.quackit.com/html/html_table_tutorial.cfm" target="_top"

>HTML Tables</a></p>
<table border="0" bordercolor="#FFCC00" style="background-color:#FFFFCC"

width="400" cellpadding="0" cellspacing="0">
   <tr>
      <td id="test"><p style="font-family:verdana,arial,sans-

serif;font-size:10px;"><a

href="http://www.quackit.com/html/html_table_tutorial.cfm" target="_top">HTML

Tables</a></p>

</td>
   </tr>
</table>
   </td>
   </tr>
   <tr>
      <td>Table Cell</td>
   </tr>
</table>
Tables</a></p>
</body>
</html>
08 Aug 2011 08:49
VincentVegas
Gast

BeitragDa stimmt doch was nicht Antworten mit Zitat

function togglein(obj) {
var el = document.getElementById(obj);
if ( el.style.display != 'block' ) {
el.style.display = 'block';
}

ist sinnlos.
el.style.display ist danach auf jeden Fall = "block", also kann man die Abfrage auch weglassen und es gleich setzen. Aber so war das sicher nicht gedacht, oder?

Viele Grüße
Thomas
24 Okt 2011 11:48
axinio Internet Marketing
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> Javascript Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  

Ähnliche Beiträge
Thema Webmaster Forum Antw. Autor Verfasst am
Keine neuen Beiträge Mysql PHP Spalte sortieren funktionie... PHP / MySQL 2 Geiseltaler 21 Mai 2012 17:55 Letzten Beitrag anzeigen
Keine neuen Beiträge Include in array funktioniert nicht! ... PHP / MySQL 5 avatar3d 19 Mai 2012 21:32 Letzten Beitrag anzeigen
Keine neuen Beiträge Navigation lässt sich nicht punktgena... CSS 2 webpeg 17 Mai 2012 19:26 Letzten Beitrag anzeigen
Keine neuen Beiträge Meine Darstellung (neues Outfit) funk... Grafik- & Webdesign 1 Steffen_1971 05 Mai 2012 11:37 Letzten Beitrag anzeigen
Keine neuen Beiträge Datensatz ändern - Formular wird nich... PHP / MySQL 2 Greenstreet 13 März 2012 10:51 Letzten Beitrag anzeigen