Antworten auf deine Fragen:
Neues Thema erstellen

Overlay mit JavaScript anzeigen lassen funktioniert nicht

SWFP

SWFP Mitglied

Hi,
ich wollte ein Overlay via JavaScript erscheinen lassen.
Code:
...<li><a href="index.php?item=ski">Skisprung-Ecke</a></li>...

Code:
<?php
$_GET['item'] = $item;

switch ($item) {
	case 'ski':
		echo "<div class=\"overlay\" onclick=\"getElementById('overlay').style.display='none'; getElementById('fenster').style.display='none';\"><div class=\"fenster\"><h1>Skisprung-Ecke</h1></div></div>";
		break;
	case '':
		echo '';
		break;
	default:
		echo '';
}
?>
Doch nichts passiert.
Wo liegt mein Fehler?

MfG
SWFP
 

Duddle

Posting-Frequenz: 14µHz

AW: Overlay mit JavaScript anzeigen lassen funktioniert nicht

Du sagst nirgendwo, dass du etwas erscheinen lassen willst. In beiden JavaScript-Anweisungen versteckst du ein Element.


Duddle
 

SWFP

SWFP Mitglied

AW: Overlay mit JavaScript anzeigen lassen funktioniert nicht

Oh, stimmt. Aber auch so

PHP:
<?php
$_GET['item'] = $item;

switch ($item) {
	case 'ski':
		echo "<div class=\"overlay\" onclick=\"getElementById('overlay').style.display='block'; getElementById('fenster').style.display='block';\"><div class=\"fenster\"><h1>Skisprung-Ecke</h1></div></div>";
		break;
	case '':
		echo '';
		break;
	default:
		echo '';
}
?>

passiert nichts

SWFP
 

Duddle

Posting-Frequenz: 14µHz

AW: Overlay mit JavaScript anzeigen lassen funktioniert nicht

Du solltest dringend Debugging lernen. Auch in Bezug auf deine anderen Threads, die gerade parallel laufen.
Wenn etwas "nicht funktioniert", musst du das Problem eben eingrenzen, bis du es gefunden hast. Voraussetzung dafür aber ist, dass du halbwegs verstehst, wie die Komponenten miteinander arbeiten.

Im konkreten Fall ist dein Problem ein JavaScript-Problem, das steht ja sogar im Titel des Threads. Warum schaust du also im PHP-Code?

Das erzeugte HTML muss der erste Ansatzpunkt sein. Wenn das korrekt ist, muss das CSS der nächste Schritt sein. Erst wenn du manuell mit CSS das Overlay korrekt anzeigen lassen kannst, kannst du es dynamisch machen. Erst dann kommt JavaScript in's Spiel. Wenn du dann mit statischem Code das Overlay wie erwartet steuern kannst, erst dann machst du es dynamisch mit PHP.
Du gehst von der falschen Seite an das Problem heran.


Duddle
 

SWFP

SWFP Mitglied

AW: Overlay mit JavaScript anzeigen lassen funktioniert nicht

Okay. Dank. So habe ich das noch nie betrachtet und das hat mir auch noch niemand erklärt. Also zuerst mal das HTMl scheint okay zu sein. Auch das CSS. Ich frag trotzdem nochmal:
Code:
.overlay {
background-color: black;
opacity: 0.6;
z-index: 100;
padding: 80px;
width: 100%;
height: 100%;
margin-left: -80px;
margin-top: -500px;
margin-bottom: -100px;
}

.overlay:target {
  width: 100%;
  height: 100%;
  opacity: 1;
}

.fenster {
padding: 10px 20px;
background-color: white;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
margin-bottom: 10px;
z-index: 200;
align: middle;
margin: 100px;
position: absolute;
top: 200px;
left: 200px;
width: 50%;
height: 50%;
box-shadow: 10px;
-webkit-box-shadow: 10px 10px 10px;
-moz-box-shadow: 10px 10px 10px;
}

SWFP
 

Duddle

Posting-Frequenz: 14µHz

AW: Overlay mit JavaScript anzeigen lassen funktioniert nicht

Ohne HTML hat das CSS keine Aussagekraft. Ein Automechaniker kann dir auch nicht alleine anhand des Zündkolbens sagen, warum dein Motor nicht startet.

Ich betone nochmal: es gibt keine magische Glaskugel, die mir (oder irgendjemandem) verrrät, wie dein Code, der Kontext, deine Umgebung aussehen.

Ausserdem will ich drauf hinweisen, dass du daran arbeiten solltest, den eingesetzten Code auch zu verstehen. Bitte lies das nicht als persönlichen Angriff, aber ich behaupte du hast dir das Overlay aus irgendeinem Tutorial o.ä. zusammenkopiert.
Ohne aber genau zu verstehen, warum dort Anweisung xyz steht und welchen Einfluss sie auf das Verhalten des CSS hat, oder wie du CSS-Fehler aufspüren kannst, wirst du immer anecken. Diese Aussage lässt sich 1:1 auf HTML, JS, PHP usw. übertragen.


Duddle
 

SWFP

SWFP Mitglied

AW: Overlay mit JavaScript anzeigen lassen funktioniert nicht

Das HTML entspricht in diesem Fall dem PHP.

Nein, ich sehe das nicht als persönlichen Angriff, aber ich stelle meine Fragen natürlich aus einem bestimmten Grund.

Ich will meine Situation mal so erklären und ich hoffe du verstehst mich:
Ich habe mir fast alles, was ich übers Webdesign weiß, selbst beigebracht, d.h. aus verschiedensten Quellen. Das heißt auch, dass ich beim Problemlösen immer so weit versuche, wie ich eben komme, und mir dann ein Tutorial ansehe. Das heißt auch, dass ich verschiedene Dinge nicht weiß, weil sie mir leider keiner gesagt hat. Und das heißt auch, dass ich verschiedene Dinge erst noch lernen muss, aber versuche, das bestmöglich zu tun. ich hoffe, das ist so gut erklärt.

SWFP
 

Duddle

Posting-Frequenz: 14µHz

AW: Overlay mit JavaScript anzeigen lassen funktioniert nicht

[OffTopic]
Wenn ich eines hoch schätze, dann ist es Eigeninitiative, besonders wenn es um das Lernen neuer Dinge geht. Deshalb helfe ich auch so gern im Forum aus.
[/OffTopic]

Bitte mach weiter, aber arbeite dabei auch an den allgemeinen Fähigkeiten eines Entwicklers.
Du musst vorallendingen Debugging lernen. Das fängt bei Zwischenausgaben zum Nachvollziehen des aktuellen Status der Anwendung/Seite an und geht zu den üblichen Werkzeuge (FireBug oder vergleichbares).

Immer wenn du dir in Zukunft sagst "das funktioniert nicht", geh Zeile für Zeile drüber und lass dir ausgeben was zwischendurch passiert. So findest du i.d.R. die Quelle des Problems.
Wenn du dann den Fehler nicht sofort siehst, schau ob du vielleicht in die Funktion / den Teilcode tauchen musst, um die Ursache zu finden. Stell dir dabei vor, du sprichst zu einem Quietscheentchen und erkläre ihr, was jede Zeile macht.

Falls es dann immer noch nicht klickt, poste im Forum. Aber schreib nicht einfach "es funktioniert nicht", sondern gib die relevanten Zwischenausgaben mit an, was du schon getestet hast, usw. Das hat deutlich mehr Aussagekraft.

Ideal ist es dabei, alles notwendige direkt zu posten (notfalls anonymisiert), dann kann jemand wie ich das Projekt lokal nachbauen und auf Fehlersuche gehen.

Für ganz üble Fälle kannst du mich auch direkt in ICQ #86198212 anschreiben.

Auch musst du erkennen, was an einem Problem teilhaben könnte. Dieser Thread ist ein gutes Beispiel dafür: ja natürlich erzeugt dein PHP einen Teil des HTMLs, aber doch nicht alles.
Der Kontext könnte wichtig sein, poste also lieber zu viel als zu wenig. Auch könnte anderes JavaScript die Sache beeinträchtigen, also musst du das notwendigerweise auch zeigen (falls da mehr ist).


Duddle
 
Zuletzt bearbeitet:

SWFP

SWFP Mitglied

AW: Overlay mit JavaScript anzeigen lassen funktioniert nicht

Okay. Vielen Dank. ich versuche mein Bestes. Aber ich kann natürlich nicht versprechen, dass sofort alles besser läuft. Allerdings würde ich mich bis dahin immer wieder über Feedbacks freuen, die mich meinem Ziel näher bringen.
 
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

Keine Mitglieder online.

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben