Was genau meinst du damit? Zu einer bestimmten Stelle scrollen, einfach irgendwo nach unten swipen, ...?
So ist helfen noch etwas schwer
Was genau meinst du damit? Zu einer bestimmten Stelle scrollen, einfach irgendwo nach unten swipen, ...?
So ist helfen noch etwas schwer
Du kannst ja auch ein Neues aufmachen und es dort erklären, wenn es dir mehr zusagt
Welche Elemente wie verschachtelt werden dürfen, regeln die Content Modelle.
Hier findest du Informationen über die verschiedenen Typen und eine Grafik, was wo vorkommen darf. Du findest auch in jeder Kategorie die betroffenen Elemente.
Kannst du mal erläutern wieso? Ich kann es nämlich nicht nachvollziehen.
margin, padding und font-family haben im *-Selektor eigentlich nichts verloren. Das war vor 15 Jahren mal Up-to-Date, gilt aber bereits seit mehreren Jahren als veraltet.
Woher hast du diese Information?
Einfach alles, sonst wird es wildes Raten.
Richtig, es handelt sich um Javascript. Wo hast du gelesen/gelernt, dass es Java sein soll?
Zu deinem Problem:
1. Dir fehlt der öffnende body-Tag im HTML-Code.
2. Du bindest die Scripts in falscher Reihenfolge ein. Du musst deine script.js Datei nach den JQuery Dateien einbinden, da sonst die entsprechenden Funktionen noch nicht vorhanden sind.
3. Du musst dein Script entweder hinter den zu manipulierenden HTML-Elementen einfügen, oder die ready Funktion von JQuery nutzen:
Außerdem bitte hier lesen.
Das würde mit PHP oder Python gehen, kann man jedoch nicht auf die Schnelle erklären (besonders ohne Kenntnisse über deinen Wissensstand in der Hinsicht).
Bitte zum besseren Nachvollziehen auch den restlichen Code.
Das kann man natürlich übersichtlicher halten
// Elemente auslesen.
var element = document.getElementById("click");
var element2 = document.getElementById("click2");
// Funktion ohne Übergabewerte, lediglich die globale Event-Variable wird erstellt.
function clickHandler(event){
event.target.innerHTML = "Bereits geklickt";
}
// Funktion mit Übergabewert.
function clickHandlerParameter(id)
{
alert("<div id=""+ id +""></div> aufgerufen!");
}
// Eventlistener für Funktionsaufruf ohne Übergabewerte.
element.addEventListener("click", clickHandler);
// Eventlistener mit anonymer Funktion um Übergabewerte zu nutzen.
element.addEventListener("click", function(){
clickHandlerParameter(this.id);
});
// Verwendung der .on[...] Methoden.
element2.onmouseover = function()
{
this.style.color = "red";
}
element2.onmouseout = function()
{
this.style.color = "black";
}
Alles anzeigen
Der Javascript Abschnitt muss im Quelltext hinter den benutzten HTML-Elementen auftauchen, oder in einem onload Event des window Objektes aufgerufen werden, ansonsten können die Elemente nicht gefunden werden:
window.addEventListener("load", function(){
// Javascript Quelltext
});
// Oder
window.onload = function(){
// Javascript Quelltext
};
Alles anzeigen
In deinem Beispiel würde ich dann so vorgehen:
<ul class="link" id="mainMenu">
<li><a title="Das ist die Startseite" href="#1">Startseite</a></li>
<li><a title="Das ist die Bildergalerie" href="#2">Bilder</a></li>
<li><a title="Das ist die Tiergalerie" href="#3">Tiere</a></li>
<li><a title="Das ist die Blumengalerie" href="#4">Blumen</a></li>
<li><a title="Das ist die Neon-Seite" href="#5">Neon</a></li>
<li><a title="Das ist die PC-Seite" href="#6">Pcs</a></li>
<li><a title="Das ist die Websprachenseite" href="#7">Websprache</a></li>
</ul>
var elements = document.getElementById("mainMenu").getElementsByTagName("a");
for(var i = 0; i < elements.length; i++)
{
elements[i].addEventListener("click", function(){
alert(this.title);
});
}
Alles anzeigen
Wenn du das title-Attribut nicht verwenden willst (beim Überfahren mit der Maus wird der Inhalt davon dem Benutzer angezeigt), kannst du auch das dataset benutzen:
<ul class="link" id="mainMenu">
<li><a data-title="Das ist die Startseite" href="#1">Startseite</a></li>
<li><a data-title="Das ist die Bildergalerie" href="#2">Bilder</a></li>
<li><a data-title="Das ist die Tiergalerie" href="#3">Tiere</a></li>
<li><a data-title="Das ist die Blumengalerie" href="#4">Blumen</a></li>
<li><a data-title="Das ist die Neon-Seite" href="#5">Neon</a></li>
<li><a data-title="Das ist die PC-Seite" href="#6">Pcs</a></li>
<li><a data-title="Das ist die Websprachenseite" href="#7">Websprache</a></li>
</ul>
Hallo Ralf!
Zunächst musst du dir überlegen was überhaupt erkannt werden soll. Dann müsstest du die betreffenden Objekte in einer Schleife durchlaufen und prüfen ob sich die Bereiche überschneiden. Dazu musst du für alle 4 "Eckpunkte" des Balls überprüfen, ob sie sich zwischen zwei Außenkanten eines anderen Objektes befinden.
Mit Javascript im Browser würde ich empfehlen nur Rechtecke zu prüfen, das heißt auch um andere Formen wird ein virtuelles Rechteck gelegt:
html-seminar.de/woltlab/attachment/947/
Jetzt müssen alle Punkte überprüft werden. So lässt sich feststellen, dass cLeft innerhalb des Quadrates liegt.
function isCollision()
{
for([...]) // Alle Objekte durchlaufen.
{
for([...]) // Alle 4 Punkte des Kreises durchlaufen.
{
if
(
// cHorizontal und cVertical sind die Koordinaten des Kreispunktes.
cHorizontal > rLeft &&
cHorizontal < rRight &&
cVertical > rTop &&
cVertical < rBottom
)
// Kollision liegt vor, true oder das betroffene Objekt zurückgeben.
return true;
}
}
// Keine Kollision gefunden, false zurückgeben.
return false;
}
Alles anzeigen
So eine Funktion gehört definitiv in deinen Interval.
Statt einem Interval solltest du übrigens auf requestAnimationFrame zurückgreifen. Falls erwünscht erzähle ich dazu auch gerne mehr.
und lege auf die Gestaltung von meinen Beiträgen hier natürlich eine niedrigere Priorität
Dementsprechend viel Lust und Priorität kommt von uns eben zurück.
Auf diese Umgebung würde ich dann einfach die komplette Wordpress Seite kopieren und dann versuchen auf die neueste Version upzudaten?
Dauert kaum 20 Minuten, warum probierst du es nicht einfach?
Am meisten legst du dir selbst Steine in den Weg. Und zwar durch mangelnde Kritikfähigkeit.
Wenn du von einem erfahrenen Forenmitglied darauf hingewiesen wirst, dass dein Beitrag ungewöhnlich formatiert ist, solltest du das einfach annehmen. Dein Verhalten im zweiten Beitrag ist dann einfach nur noch kindisch. So wirst du bei uns keine konstruktive Hilfe erhalten. Das Forum nimmt Rücksicht auf Präferenzen der Schriftgröße aller Benutzer, warum sollte Benutzer X in deinem Beitrag ran- und im nächsten wieder rauszoomen?
Und ja. Durchaus erkennt man da gewisse Parallelen. Du sagst die Seite ist so gut wie fertig. Was ist nun, wenn dir die Schrift dort genau so zu groß ist wie hier bei uns? Du würdest sie einfach anpassen und damit viele Leute verärgern.
Außerdem hast du zwar viel geschrieben, jedoch geht daraus nicht hervor was genau du überhaupt wissen/machen willst.
Erst steht im Raume, dass die Seite bereits fertig ist, dann fragst du wie du sie am Besten neu gestaltest und jetzt auf einmal musst du dir da keine Gedanken mehr machen, weil:
Zitat von Parad0x[...] die Webseite vom Design und dem Aufbau her schon fertig ist.
Sehr konfus das Ganze.
Was meinst du mit "sicherheitskonform"? Du solltest Probleme lieber beschreiben statt irgendwelche Wörter zu verwenden, wenn es dir an Erfahrung mangelt.
Warum sollten Änderungen in älteren Wordpress Versionen nicht mehr möglich sein?
Ob du es selber machst oder eine Firema bauftragt wird liegt doch bei dir. Wirst du dafür bezahlt/belohnt? Mach es. Wirst du es nicht? Lass es, außer die Firma besteht aus 3 Personen und du würdest Anerkennung erhalten.
Du bist jederzeit gerne eingeladen hier fachspezifische Fragen zu stellen, wir können dir jedoch nicht die Entscheidung abnehmen wer die Arbeit verrichtet.
Auch wenn das action-Attribut auf die selbe Datei zeigt, wird neu geladen. Ein Neuladen der Datei kannst du nur mit Javascript verhindern.
Wenn du die Methode von JR Cologne: anwendest, solltest du unbedingt htmlspecialchars verwenden um Code-Injections vorzubeugen.
Wenn du das Formular sowieso über die radio-Elemente absenden möchtest ist der Button überflüssig. Ein Formular ohne submit-Button ist nicht valide und erzeugt in den meisten Browsern komisches Verhalten. Firefox zum Beispiel erstellt dann gerne selber einen und schreibt da Unfug rein.
Du kannst das Teil halt auch einfach anzeigen, ist ja Wurst.
Jetzt verstehe ich was du meinst. Natürlich bekommst du nichts angezeigt wenn die Datei zwar nicht vorhanden ist, die Switch Abfrage aber greift. Das ist so logisch (und die Fehlermeldungen weisen noch mal expliziter darauf hin), dass ich es nicht mal in Betracht gezogen habe
Was du brauchst ist eine Prüfung ob die Datei existiert:
switch($p) {
case "home":
$r = (is_file('home.php')) ? 'home.php' : 'error404.php';
break;
case "galerie":
$r = (is_file('galerie.php')) ? 'galerie.php' : 'error404.php';
break;
case "land":
$r = (is_file('land.php')) ? 'land.php' : 'error404.php';
break;
case "natur":
$r = (is_file('natur.php')) ? 'natur.php' : 'error404.php';
break;
case "portrait":
$r = (is_file('portrait.php')) ? 'portrait.php' : 'error404.php';
break;
case "technik":
$r = (is_file('technik.php')) ? 'technik.php' : 'error404.php';
break;
case "guest":
$r = (is_file('guest.php')) ? 'guest.php' : 'error404.php';
break;
case "imp":
$r = (is_file('imp.php')) ? 'imp.php' : 'error404.php';
break;
case "kontakt":
$r = (is_file('kontakt.php')) ? 'kontakt.php' : 'error404.php';
break;
case "daten":
$r = (is_file('daten.php')) ? 'daten.php' : 'error404.php';
break;
default:
$r = 'error404.php';
}
Alles anzeigen
Der Fehler lag also nicht im Code oder im Dateisystem, sondern in deiner Logik.
Nach wie vor ist jedoch das hier zwecks Dynamik und verringertem Änderungsaufwand die bessere Lösung.
Am Elegantesten wäre es wohl so:
<form action="test.html" method="post" name="myForm">
Dein Name:
<p>
<input type="text" name="name" id="">
</p>
<p>
<input type="radio" name="gender" value="m" id=""> Junge
</p>
<p>
<input type="radio" name="gender" value="f" id=""> Mädel
</p>
<input type="submit" value="" style="display: none;">
</form>
Alles anzeigen
var radio = document.forms.myForm.gender;
for(var i = 0; i < radio.length; i++)
{
// Change Event abfangen
radio[i].addEventListener("change", function(){
// Erstes Elternelement vom Typ "form" finden.
var parent = this;
do
{
parent = parent.parentNode;
} while(parent.tagName.toLowerCase() != "form");
// Absenden.
parent.submit();
});
}
Alles anzeigen
Durch document.forms wird sichergestellt, dass ein Formular vorhanden ist. Sollten die Elemente wie folgt abgerufen werden, muss nicht zwangsäufig ein form-Element vorhanden sein:
Sollte tatsächlich keines da sein, kommt es zu einer Endlosschleife und der Browser hängt sich auf oder stürzt ab. Dann würde ich das Ganze wie folgt erweitern:
for(var i = 0; i < radio.length; i++)
{
// Change Event abfangen
radio[i].addEventListener("change", function(){
// Erstes Elternelement vom Typ "form" finden.
var parent = this;
do
{
// Schleife abbrechen wenn das höchste Element im DOM-Baum ausgewählt ist.
if(parent.parentNode === document)
break;
parent = parent.parentNode;
} while(parent.tagName.toLowerCase() != "form");
// Nur absenden, wenn ein form-Element gefunden wurde.
if(parent.tagName.toLowerCase() == "form")
parent.submit();
});
}
Alles anzeigen
Außerdem ist es sinnvoller nicht das "Change"-Event abzufangen, sondern das "Click"-Event. Hintergrund: Wenn das Formular neu geladen wird und der Browser die Auswahl speichert kann das Formular nicht abgesendet werden, wenn man das selbe Radio Element wieder auswählen möchte.
Man könnte auch einfach beide Events abfangen:
function radioHandler()
{
var parent = this;
do
{
if(parent.parentNode === document)
break;
parent = parent.parentNode;
} while(parent.tagName.toLowerCase() != "form");
if(parent.tagName.toLowerCase() == "form")
parent.submit();
}
Object.prototype.addMultipleEventListeners = function(listeners, fn)
{
listeners = listeners.split(" ");
for(var i = 0; i < listeners.length; i++)
this.addEventListener(listeners[i], fn);
}
var radio = document.getElementsByName("gender");
for(var i = 0; i < radio.length; i++)
radio[i].addMultipleEventListeners("click change", radioHandler);
Alles anzeigen
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.