Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
elagil
Threadersteller
Dabei seit: 21.03.2012
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Sa 24.03.2012 14:15
Titel
|
|
|
ich bin sehr unerfahren, weiß also nicht, was das bedeutet
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Sa 24.03.2012 18:43
Titel
|
|
|
Code: | var menu = (function(){
var zahl = 0,
stuhl = "";
path = "stuhl/";
$menu = $('.menu'),
$container = $('#clickcontainer'),
$ziel = $('#ziel');
$menu
.click(function(ev){
ev.preventDefault();
var $this = $(this);
stuhl = $menu.index($this);
$ziel.load(path + index + "0.html");
});
$container
.click(function(ev){
ev.preventDefault();
zahl = zahl+1;
$ziel.load(path + stuhl + "/" + zahl + ".html");
})
})(); |
|
|
|
|
|
Anzeige
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Sa 24.03.2012 19:16
Titel
|
|
|
beknackte "nicht mehr editieren können funktion". da waren 2 semikolons statt kommatas gesetzt :/
Code: | var menu = (function(){
var zahl = 0,
stuhl = "",
path = "stuhl/",
$menu = $('.menu'),
$container = $('#clickcontainer'),
$ziel = $('#ziel');
$menu
.click(function(ev){
ev.preventDefault();
var $this = $(this);
stuhl = $menu.index($this);
$ziel.load(path + index + "0.html");
});
$container
.click(function(ev){
ev.preventDefault();
zahl = zahl+1;
$ziel.load(path + stuhl + "/" + zahl + ".html");
})
})(); |
|
|
|
|
|
elagil
Threadersteller
Dabei seit: 21.03.2012
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 27.03.2012 00:35
Titel
|
|
|
Hallo,
ich kann den Code leider nicht so richtig interpretieren.
_______________________________________________________________________________________
teil1:
ich nehme an hiermit wird die variable "menu" durch die anderen variablen (zahl, stuhl, path) festgelegt...
Code: | var menu = (function(){
var zahl = 0,
stuhl = "",
path = "stuhl/",
$menu = $('.menu'),
$container = $('#clickcontainer'),
$ziel = $('#ziel'); |
hier bedeutet doch nur, dass die variable eingeführt wird aber nicht gesetzt?
_______________________________________________________________________________________
teil2:
nun stelle ich mir noch die frage, was folgende dinge bedeuten, ich verstehe leider nur bruchstücke..
das dollarzeichen wählt ja eine gruppe von elementen oder ein einzelnes element aus, etwa die objekte der klasse "menu".
sind diese einträge:
Code: | ...
$menu = $('.menu'),
$container = $('#clickcontainer'),
$ziel = $('#ziel');
... |
auch nur variablen, die durch ganze klassen definiert werden (und wozu dort das dollar zeichen?)?
in diesem fall sehe ich keinen sinn darin, eine variable über eine klasse zu definieren, denn was sagt sie dann aus?
_______________________________________________________________________________________
teil3:
Code: | $menu
.click(function(ev){
ev.preventDefault();
var $this = $(this);
stuhl = $menu.index($this); |
nun weiter... die obige funktion soll ja verhindern, dass wenn ich auf klicke (nochmal an dieser stelle, was ist das? etwa nur die zusammenfassung aller objekte der klasse .menu?) das standard event ausgeführt wird (link öffnen?) und stattdessen die variable stuhl auf die zahl des elementes in der liste (index..?) gesetzt wird.
beim erneuten lesen des satzes ergibt sich der sinn, vorausgesetzt meine annahmen sind richtig
stimmt das halbwegs?
_______________________________________________________________________________________
teil4:
das fölgende teilstück öffnet dann wohl im container "ziel" die datei stuhl/"index"/0.html
Code: | $ziel.load(path + index + "0.html") |
ich frage mich.. wozu so komliziert? ich muss ja nicht für einen sich nie ändernden pfad eine variable einführen oder doch?
_______________________________________________________________________________________
teil5:
Code: | $container
.click(function(ev){
ev.preventDefault();
zahl = zahl+1;
$ziel.load(path + stuhl + "/" + zahl + ".html"); |
das wird dann wohl den zähler erhöhen und den link im zielcontainer öffnen, dabei die standardaktion unterbinden.
_______________________________________________________________________________________
zu teil 4 und 5: warum ersetze ich den container #ziel durch $ziel...?
_______________________________________________________________________________________
wenn ich das script so einfüge tut sich übrigens nichts. ^^
vielleicht erklärt es mir jemand ein wenig?
vielen dank schon einmal für die mühen
|
|
|
|
|
pantonine
Dabei seit: 03.03.2011
Ort: gehen Sie bitte weiter…
Alter: -
Geschlecht: -
|
Verfasst Di 27.03.2012 01:31
Titel
|
|
|
Hmm, wenn Dir nicht einmal das Konzept der Zuweisung eines Ausdrucks an eine Variable geläufig ist, bin ich nicht sicher, ob Du programmieren solltest.
|
|
|
|
|
gotoAndPlay
Dabei seit: 22.11.2006
Ort: -
Alter: 40
Geschlecht:
|
Verfasst Di 27.03.2012 09:21
Titel
|
|
|
pantonine hat geschrieben: | Hmm, wenn Dir nicht einmal das Konzept der Zuweisung eines Ausdrucks an eine Variable geläufig ist, bin ich nicht sicher, ob Du programmieren solltest. |
Dann erklär es ihm doch einfach
|
|
|
|
|
elagil
Threadersteller
Dabei seit: 21.03.2012
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 27.03.2012 12:41
Titel
|
|
|
Zitat: | Dann erklär es ihm doch einfach |
das wäre nett ich habe auch erst damit angefangen, das wissen kommt ja erst nach dem lernen
mir reicht auch ein link zu einer guten erklärung, ich habe da nur leider nicht so viel gefunden..
Zuletzt bearbeitet von elagil am Di 27.03.2012 12:41, insgesamt 1-mal bearbeitet
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Mi 28.03.2012 21:06
Titel
|
|
|
Hier noch mal etwas anders und mit kommentaren:
Code: | // eine sich selbst ausführende, anonyme funktion erstellen. mehr dazu hier: http://stackoverflow.com/questions/592396/what-is-the-purpose-of-a-self-executing-function-in-javascript
(function(){
// initialisieren der für die funktion benötigten variablen. das weglassen des kommas sorgt dafür, dass die nachfolgenden variablen ebenfalls automatisch ein implizites "var" davor gestellt bekommen. man könnte auch vor jede variable ein var und hinter die zuweisung ein semikolon schreiben. mehr zu dieser vorgehensweise und warum man sie benutzt findest du unter dem suchbegriff "single var pattern" bei google. und hier: http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting
var seite = 0, // seite wird mit "0" initialisiert. das entspricht der ersten seite
stuhl = 0, // stuhl wird mit "0" initialisiert. das entspricht dem ersten stuhl
pfad = "stuhl/", // die pfadangabe wird hier in einer variable gespeichert, damit sie im falle der fälle später durch die änderung an einer einzelnen stelle überall ersetzt werden kann. (!google dry pattern :))
$menu = $('.menu'), // selektiere alle elemente mit der klasse menu und speichere diese in der variable $menu. das $ vor der variable dient als kennzeichnung, dass sie ein jQuery objekt ist. man könnte auch einfach var menu = ... schreiben.
$container = $('#clickcontainer'), // siehe menu
$ziel = $('#ziel'); // mit dem semikolon ist das "var" statement von oben beendet.
$menu // hier könnte auch $('.menu') stehen. wir haben die elemente aber vorher bereits in einer variable gespeichert. das ist normalerweise immer dann sinnvoll, wenn man vorhat diesen selektor mehrfach zu verwenden, gilt aber auch generell als "best practise"
.click(function(ev){
ev.preventDefault(); // standardverhalten des links ("öffne link") unterdrücken
stuhl = $menu.index($(this)); // den index des geklickten links als variable speichern
seite = 0; // immer die erste seite laden bei klick auf einen stuhl
ladeSeite();
});
$container
.click(function(ev){
ev.preventDefault(); // standardverhalten des links ("öffne link") unterdrücken
seite = seite+1; // erhöhe den wert der variable "seite" um 1 (man könnte auch seite++ schreiben, sollte man aber nicht. warum? darum: http://www.youtube.com/watch?v=taaEzHI9xyY&t=50m42s )
ladeSeite();
})
var ladeSeite = function() {
$ziel.load(pfad + stuhl + "/" + seite + ".html"); // lade die richtige html datei z.B. stuhl/1/0.html
}
})(); |
|
|
|
|
|
|
|
|
Ähnliche Themen |
3D-Würfel unerwünscht!
DIV-Container soll anderen DIV-Container verdrängen
DIV Container bei Mouseover über DIV Container anzeigen
CSS: Container im Container Vertikal zentrieren
Variabler Div-Container bis zum mittigen Div-Container
CSS - was ist ein div-container?
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|