Wie möchtest Du es denn haben:
Wenn eine neue Seite geöffnet wird, soll das Menü wie auf der alten Seite offen sein
oder
Wenn ein Anker angesprochen wird, soll das Menü zugehen, wie beim Wechsel auf eine andere Seite?
Beiträge von Sempervivum
-
-
Hallo Lexxa,
diese Diashow ist mit CSS realisiert. Dazu ist folgendes zu sagen: Man kann vieles mit CSS machen, aber man muss jeweils fragen, ob es auch empfehlenswert ist: Eine CSS-Lösung ist in diesem Fall nur umständlich zu ändern, weil die Werte der Keyframes jedes Mal geändert werden müssen, wenn sich die Anzahl der Bilder ändert. Bei einer Lösung mit Javascript/jQuery kann das automatisch durch das Plugin erfolgen, so dass man nur den HTML-Text erstellen/ändern muss.
Ich habe trotzdem mal, so gut ich es konnte, diese Slideshow zum Laufen gebracht.
http://pastebin.com/9KbFw6zXBTW: Die Kätzchen sind ja sehr süß!
-
Dies hier:
liefert einen negativen Wert, wenn values[ i ] größer als 100 ist so dass der Balken die obere Grenze des Canvas überschreitet.
So funktioniert es:
Natürlich kannst Du auch beide Achsen beschriften. Es gibt jedoch gute Bibliothen, um solche Diagramme zu zeichnen, z. B. chart.js
http://www.chartjs.org/ -
Das kannst Du auch ohne Flex-Layout sehr einfach erreichen, indem Du zunächst die Elemente mit text-align:center horizontal zentrierst. Damit ersparst Du dir schon Mal die Berechnung der x-Positionen.
Die vertikalen Abstände kannst Du leicht mit margin-top einstellen.
Und um für die Tabelle einen freien Raum zu schaffen (ich nehme an, sie wird dynamisch angelegt) würde ich sie in einen Wrapper mit min-height verpacken. Wenn Du min-height verwendest, reserviert dieser Wrapper eine Mindesthöhe, erweitert sich aber, wenn die Tabelle größer wird.
Ein weiterer Vorteil, wenn Du nicht absolut positionierst ist, dass alles automatisch hoch oder runter rutscht, wenn Du bei einem Element die Höhe änderst. Bei absoluter Positionierung musst Du dagegen alles neu berechnen. -
Beschreibe doch mal, welches Ziel Du mit dieser Anordnung verfolgst, dann kann man deine Fragen wahrscheinlich besser einordnen und beantworten. Vor allem, warum Du die Elemente anders als zentriert oder links- oder rechtsbündig anordnen möchtest.
-
Schau mal, ob dieses deine Vorstellungen erfüllt:
https://jsfiddle.net/Sempervivum/jL74xeLs/5/- Wegen der Begrenzungen bei lorempixel sind es nur neun Bilder.
- Soll ein Bild und ein Button jeweils genau untereinander sein, müsste man noch etwas tun.
-
Wie viele Bilder? Auch zehn?
-
Du schreibst von drei Gruppen. Ich nehme an, innerhalb einer Gruppe sollen die Buttons nebeneinander positioniert werden? Und die Gruppen? Übereinander?
-
Wenn Du sie denn absolut positionieren willst, dann ja. Da anzunehmen ist, dass die Position irgend welchen Regeln folgt, könntest Du sie automatisch mit Javascript festlegen. Ich bin jedoch kein Freund von absoluter Positionierung und würde eine andere Lösung suchen. Diese Sache ist ein Problem, womit man dabei konfrontiert werden kann.
Beschreibe doch mal, vielleicht mit einer Skizze, was Du mit den Buttons vor hast und warum Du sie absolut positionieren möchtest, dann kann man wahrscheinlich eine einfachere Lösung finden.
-
Das liegt daran, dass Du allen die selbe Position gibst, so dass sie übereinander liegen und nur der letzte sichtbar ist.
-
Stylesheet ausgelagert? Siehe hier:
http://www.css4you.de/background-image.html
"Wenn du deine Stylesheets in eine externe Datei auslagerst, musst du darauf achten, dass sich die Pfadangabe auf den Ort der Stylesheet- und nicht der XHTML</acronym>-Datei bezieht. Befindet sich die Stylesheet-Datei z.B. im Verzeichnis css und das Hintergrundbild in images, so wäre die gültige Pfadangabe background-image: url(../images/hintergrundbild.gif)" -
-
Bei Verwendung von appendChild() wird das Element hinzu gefügt. Ich denke, das einfachste wird sein, wenn Du den Container vor dem neuen Füllen leerst:
function showArray2() {
var zw=[1,2,3,4,5];
var gallerie = document.getElementById("ersteReihe");
gallerie.innerHTML ="";
for (i = 0; i < vorgabe; i++) {
gallerie.appendChild(imgArray[zw[i]]);
}
}
Wenn der Container noch weitere Elemente enthält, würde ich die Bilder in einen zusätzlichen Container legen, der nur diese enthält. -
Leider habe ich dir da einen Code mit einem Strukturfehler gegeben:
im.addEventListener("click", function(idx) {
return function() {
if (!gallerie.getAttribute("data-locked")) {
gallerie.setAttribute("data-locked", "true");
}playSound();
if (vergleichccr == idx) {control.value = "Das war richtig. Klicke jetzt den Button WEITER";
} else {
control.value = "Das war falsch. Beginne wieder mit Start";
}
};}(i));
Das if wird gleich nach der ersten Anweisung wieder geschlossen. So wäre es richtig:
http://pastebin.com/g4r4jJG0 -
-
-
"This is a private paste. If you created this paste, please login to view it." Anscheinend nur für den Besitzer sichtbar.
-
-
-
Wenn Du alle Bilder blocken möchtest, empfehle ich, das Attribut bei dem gallerie-Element zu setzen:
for (var i = 0; i < cardSelectBasic; i++){
var im = imgArray[zz[ i ]];
gallerie.appendChild(im);
im.addEventListener("click", function(idx) {
return function() {
if (!gallerie.getAttribute("data-locked")) {
gallerie.setAttribute("data-locked", "true"); }if (vergleichccr==idx)
{
randomNumberBasic.splice(vergleichcbr,1);
alert(randomNumberBasic + "bravo"+ vergleichcbr);
}
else
{
alert("kein bravo");
}};
}(i));
}