mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: So 28.04.2024 23:28 Benutzername: Passwort: Auto-Login

Thema: angeklickter DIV container hervorgehoben (unerwünscht) ! vom 23.03.2012


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Allgemeines - Nonprint -> angeklickter DIV container hervorgehoben (unerwünscht) !
Seite: Zurück  1, 2, 3, 4, 5  Weiter
Autor Nachricht
elagil
Threadersteller

Dabei seit: 21.03.2012
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 24.03.2012 14:15
Titel

Antworten mit Zitat Zum Seitenanfang

ich bin sehr unerfahren, weiß also nicht, was das bedeutet Lächel
  View user's profile Private Nachricht senden
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Sa 24.03.2012 18:43
Titel

Antworten mit Zitat Zum Seitenanfang

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");
      })
      
})();
  View user's profile Private Nachricht senden
Anzeige
Anzeige
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Sa 24.03.2012 19:16
Titel

Antworten mit Zitat Zum Seitenanfang

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");
      })
      
})();
  View user's profile Private Nachricht senden
elagil
Threadersteller

Dabei seit: 21.03.2012
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 27.03.2012 00:35
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich kann den Code leider nicht so richtig interpretieren. *zwinker*

_______________________________________________________________________________________
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
Code:
stuhl       =   ""
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,
Code:
$('.menu')
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
Code:
$menu
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 *zwinker*
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? *zwinker*

vielen dank schon einmal für die mühen Lächel
  View user's profile Private Nachricht senden
pantonine

Dabei seit: 03.03.2011
Ort: gehen Sie bitte weiter…
Alter: -
Geschlecht: -
Verfasst Di 27.03.2012 01:31
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
gotoAndPlay

Dabei seit: 22.11.2006
Ort: -
Alter: 40
Geschlecht: Männlich
Verfasst Di 27.03.2012 09:21
Titel

Antworten mit Zitat Zum Seitenanfang

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 *zwinker*
  View user's profile Private Nachricht senden
elagil
Threadersteller

Dabei seit: 21.03.2012
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 27.03.2012 12:41
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
Dann erklär es ihm doch einfach


das wäre nett *zwinker* ich habe auch erst damit angefangen, das wissen kommt ja erst nach dem lernen Lächel

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
  View user's profile Private Nachricht senden
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Mi 28.03.2012 21:06
Titel

Antworten mit Zitat Zum Seitenanfang

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
   }
})();
  View user's profile Private Nachricht senden
 
Ä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?
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3, 4, 5  Weiter
MGi Foren-Übersicht -> Allgemeines - Nonprint


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.