zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden zähler zurücksetzen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 25.11.2018, 15:06
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.10.2018
Beiträge: 25
KATERchen befindet sich auf einem aufstrebenden Ast
Standard zähler zurücksetzen

Hallo, ich bräuchte mal einen Tipp:

Ich habe eine Seite mit einer Liste von Waren. Jeder Eintrag unterscheidet sich durch die ArtNr

In jedem Listeneintrag soll nun ein Script einen Zähler hoch und runter rechnen (für einen Slider). Das funktioniert soweit auch ganz gut.
Jetzt brauche ich aber irgend eine Möglichkeit, wenn ich von einem anderen Listeneintrag den Slider aufrufe, hat der Zähler ggf. noch den Wert des ersten Sliders.
Wie kann ich nun beim Klick auf einen neuen Link den Zähler zurücksetzen?
Ich hoffe, es ist halbwegs verständlich.

Code:
  zaehler = 97;	  

  $( "a.verk_bM_Liste_next" ).on( "click", function() {

	var ArtNr = $(this).attr("data-ArtNr");
	var anzahl = $("ul#UL_" + ArtNr).children().length; // zählen der Listeneinträge
	var slides = anzahl / 4;

	if (zaehler < anzahl + 93){ 

      for (i = zaehler; i < zaehler + 4; i++) {  
        $("ul#UL_" + ArtNr + " li a.overflow[data-select=" + i + "]").css({"display" : "none" , "opacity" : "0"});
      }
    
      zaehler = zaehler + 4;
      for (i = zaehler; i < zaehler + 4; i++) {
        $("ul#UL_" + ArtNr + " li a.overflow[data-select=" + i + "]").css({"display" : "block" , "opacity" : "1"});
      }
    }
  });
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 25.11.2018, 21:59
Benutzerbild von basti1012
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 23.01.2018
Beiträge: 184
basti1012 befindet sich auf einem aufstrebenden Ast
Standard

so ganz verstehe ich es nicht . Ganzer Code oder Link zur Seite wäre da besser.Aber den Zähler nullen würde ich so machen https://codepen.io/basti1012/pen/oQyYyo?editors=1010

Ist mal ein Beispiel das dir vieleicht weiter hefen tut
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 26.11.2018, 08:56
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.10.2018
Beiträge: 25
KATERchen befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Antwort. Leider kann ich das Script nicht ganz nachvollziehen - bin noch blutiger Anfänger.
Aber ich habe DIESES Problem gelöst:
Code:
		Array.push(ArtNr); 
		first = Array.shift();
		if(Array != first) {zaehler = 97};
Leider hat sich dann aber ein weiteres Problem ergeben: Wie gesagt gibt es auf der Seite mehrere Listeneinträge und in jedem befindet sich ein Slider. Aber ich habe nur einen Zähler im Scipt, so dass der für alle Slider zählt, was nicht funktioniert.
Jetzt habe ich eine andere Idee, da brauche ich aber wieder etwas Hilfe.
In einem Assoziativen Array speichere ich die ArtNr (für jeden Listeneintrag einmalig) mit dem dazugehörigen Zähler.
Code:
Array [ {…} ]
M_slider.js:22:2
101 M_slider.js:39:2
(2) […]
​
0: Object { Nr: "fu0010", Zaehler: 97 }
​
1: Object { Nr: "fu0010", Zaehler: 101 }
​
length: 2
​
<prototype>: Array []
M_slider.js:22:2
105 M_slider.js:39:2
Array(3) [ {…}, {…}, {…} ]
M_slider.js:22:2
105 M_slider.js:39:2
(4) […]
​
0: Object { Nr: "fu0010", Zaehler: 97 }
​
1: Object { Nr: "fu0010", Zaehler: 101 }
​
2: Object { Nr: "fu0010", Zaehler: 105 }
​
3: Object { Nr: "fu0010", Zaehler: 105 }
​
length: 4
​
<prototype>: Array []
M_slider.js:22:2
105 M_slider.js:39:2
(5) […]
​
0: Object { Nr: "fu0010", Zaehler: 97 }
​
1: Object { Nr: "fu0010", Zaehler: 101 }
​
2: Object { Nr: "fu0010", Zaehler: 105 }
​
3: Object { Nr: "fu0010", Zaehler: 105 }
​
4: Object { Nr: "fu0011", Zaehler: 105 }
​
5: Object { Nr: "fu0011", Zaehler: 105 }
​
length: 6
​
<prototype>: Array []
M_slider.js:22:2
105 M_slider.js:39:2
Array(6) [ {…}, {…}, {…}, {…}, {…}, {…} ]
M_slider.js:22:2
105 M_slider.js:39:2
Allerdings wird jetzt jeweils ein neuer Eintrag erstellt. Gibt es eine Möglichkeit, wenn die "Nr" bereits vorhanden ist, dass dann nur der Zähler ersetzt wird? Ich habe leider zum Umgang mit Assoziativen Arrays nicht viel gefunden.

Ich habe hier jetzt auch mal den Code reingestellt.
Mit Zitat antworten
  #4 (permalink)  
Alt 26.11.2018, 12:19
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von KATERchen Beitrag anzeigen
Aber ich habe DIESES Problem gelöst:
Code:
		Array.push(ArtNr); 
		first = Array.shift();
		if(Array != first) {zaehler = 97};
Das macht keinen Sinn, du vergleichst ein Arrayobjekt (falls du Array nur als Platzhalter für den Namen eines Array verwendest, ansonsten ist es der native Arrayconstructor des Browsers) mit einer Zahl, das ist immer ungleich,

Zitat:
Zitat von KATERchen Beitrag anzeigen
Leider hat sich dann aber ein weiteres Problem ergeben: Wie gesagt gibt es auf der Seite mehrere Listeneinträge und in jedem befindet sich ein Slider. Aber ich habe nur einen Zähler im Scipt, so dass der für alle Slider zählt, was nicht funktioniert.
Wenn du einen slider als Objekt erstellt sollte das kein Problem sein. Jeder slider erhält einen eigenen Zähler. Dein Ansatz geht schon in die Richtung, ein "assoziatives Array" ist ein Objekt.

Der Rest deiner Überlegungen sind aber unverständlich.

Nachtrag: Hab deinen Link nicht gesehen. Schau es mir an.
Mit Zitat antworten
  #5 (permalink)  
Alt 26.11.2018, 12:40
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Nachtrag: Hab deinen Link nicht gesehen. Schau es mir an.
Puh, ich Blick da nicht durch.

Gibt es irgeneine Logik? Warum ist dein Code so komplex aufgebaut?
Du hast doch geschrieben, dass du blutiger Anfänger bist? Der Code sieht aus, als ob den jemand gemacht hat, der seit Jahrzehnten obfuscation HTML "Programming" macht und vermutlich Perlwurzeln hat.

Wenn du für jede Funktion und jede CSS Eigenschaft jedem Element eine Klasse gibst oder eine neue Eigenschaft definierst wird dein Code unübersichtlich.

Sinnvoll ist es bei solchen Problemen den Code soweit herunterzubrechen, dass auch Aussenstehende deinen Code verstehen und du es einfacher hast diesen zu debuggen.

So weiss ich noch nicht mal was man tun sollte, um überhaupt irgend etwas zu bemerken. Du erwartest, dass wir den JS-Code im Kopf nachvollziehen, um dann im HTML zu suchen welches Element auf Interaktionen reagiert und dann muss man noch mal suchen, ob und wie das Element auf der Seite dargestellt wird.
Mit Zitat antworten
  #6 (permalink)  
Alt 26.11.2018, 12:52
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.10.2018
Beiträge: 25
KATERchen befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Der Code sieht aus, als ob den jemand gemacht hat, der seit Jahrzehnten obfuscation HTML "Programming" macht und vermutlich Perlwurzeln hat.
Danke - denke ich
Ich habe bis vor 10 Jahren viel mit HTML und PHP gearbeitet, dann aber ewig eine Pause gemacht und fange jetzt wieder an. Jquery ist für mich wirklich ganz neu. Die Seite baue ich jetzt auch nur um zu testen was geht und was nicht.
Das der Code unübersichtlich ist, stört mich auch ein wenig. Hab schon mal versucht, da etwas Ordnung rein zu bringen, doch dann kam mir eine neue Idee für ein Script - und mir der Ordnung war es wieder vorbei. Daher lasse ich es jetzt erst mal so und bringe dann zum Schluss Ordnung rein - sonst komme ich gar nicht mehr zu was anderem.

Den Codeschnipsel den ich oben gepostet habe, habe ich schon wieder raus genommen. Ich arbeite jetzt seit Stunden mit dem Array, doch damit hatte ich schon in PHP immer einige Probleme.
Ich habe jetzt z.B. den einfachen Code
Code:
	counter.push({
	                Nr: ArtNr,
	                Zaehler: zaehler
	            });
und finde einfach keine Möglichkeit, wenn die ArtNr bereits existiert, nur den Zaehler zu ändern anstatt ein neues Objekt einzutragen.
Mit Zitat antworten
  #7 (permalink)  
Alt 26.11.2018, 12:56
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Wie gesagt ich kann keine Logik erkennen, insofern ist nur sehr schwer überhaupt möglich bei einer Programmierung zu helfen. Wozu brauchst du denn überhaupt diese Nummern?


Nachtrag: und mal ein Tipp

HTML-Code:
	<li class="hd_nOL1">Verkauf
	  <ul class="hd_nOL_show1">
		<li class="hd_nOL_but">Futterhäuser</li>
		<li class="hd_nOL_but">Nistkästen</li>
		<li class="hd_nOL_but">Insektenhotels</li>
		<li class="hd_nOL_but">Stelen</li>
		<li class="hd_nOL_but">Kerzen</li>
	  </ul>
	</li>
Die Klassen machen hier keinen Sinn.

Du kannst im CSS (oder jQuery) Code mit .hd_nOL1 ul li auf die Elemente zugreifen. Dann sähe der Code so aus:
HTML-Code:
	<li class="hd_nOL1">Verkauf
	  <ul>
		<li>Futterhäuser</li>
		<li>Nistkästen</li>
		<li>Insektenhotels</li>
		<li>Stelen</li>
		<li>Kerzen</li>
	  </ul>
	</li>

Geändert von protonenbeschleuniger (26.11.2018 um 13:01 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 26.11.2018, 13:09
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.10.2018
Beiträge: 25
KATERchen befindet sich auf einem aufstrebenden Ast
Standard

Ich habe mehrere Listeneinträge, die aus einer Datenbank ausgegeben werden (siehe Foto) Die winzigen Fotos sind die Slider, die Springen bei jedem Klick immer um vier Fotos weiter. Dazu der Zähler, beginnend bei 97 (da ich abc statt 123 zähle und laut ASCII "A" 97 ist) wird bei jedem Klick um 4 hochgezählt.
Wenn ich nun aber den oberen Slider einmal nach rechts klicke, steht der Zähler bei 101, klicke ich nun den unteren Slider, fängt der mit 101 an, anstatt mit 97. Also brauche ich für jeden Slider einen eigenen Zähler.

Daher jetzt das Array, damit ich anhand der ArtNr den Zähler für den jeweiligen Slider auslesen kann.
Hier mal die entsprechenden Links dazu
HTML-Code:
  <a class="verk_bM_Liste_prev" data-ArtNr="<?php echo $ArtNr?>">ZZ</a>
  <a class="verk_bM_Liste_next" data-ArtNr="<?php echo $ArtNr?>">>></a>
Angehängte Grafiken
Dateityp: jpg 2.jpg (79,1 KB, 3x aufgerufen)
Mit Zitat antworten
  #9 (permalink)  
Alt 26.11.2018, 13:12
Benutzerbild von basti1012
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 23.01.2018
Beiträge: 184
basti1012 befindet sich auf einem aufstrebenden Ast
Standard

so ganz verstehe ich das alles nicht.
Aber array zu bearbeiten,löschen, kopieren und so weiter kann man mache.
https://www.mediaevent.de/javascript...-Methoden.html
Da sollte wohl das passende bei sein. Würde zwar gerne mehr helfen , doch da blicke ich gerade nicht so auf dser schnelle durch
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 26.11.2018, 13:20
Benutzerbild von basti1012
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 23.01.2018
Beiträge: 184
basti1012 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von KATERchen Beitrag anzeigen
Dazu der Zähler, beginnend bei 97 (da ich abc statt 123 zähle und laut ASCII "A" 97 ist) wird bei jedem Klick um 4 hochgezählt.
Wenn ich nun aber den oberen Slider einmal nach rechts klicke, steht der Zähler bei 101, klicke ich nun den unteren Slider, fängt der mit 101 an, anstatt mit 97. Also brauche ich für jeden Slider einen eigenen Zähler.
Kann das Bild leider nicht sehen.Hast du mal Link zur Seite.
Vesrstehe das so nicht weil.
Wenn man 4 Slider hat
Code:
<input type="range" min="0" max="200" size="4" id="a1">
<input type="range" min="0" max="200" size="4" id="a2">
<input type="range" min="0" max="200" size="4" id="a3">
<input type="range" min="0" max="200" size="4" id="a4">
So arbeitet jeder Slider für sich und überimmt keine Zahlen vom anderen Slider. Wie gesagt ich brauche einen Link zurSeite oder ganzen Code um das zu verstehen . Schade das och so nicht helfen kann
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Button auf Standard zurücksetzen? tscho CSS 10 27.02.2012 18:40
Besucher Zähler einbinden Georges974 (X)HTML 2 03.05.2009 22:36
Problem mit auto-increment: Will eine Lücke in den IDs Füllen ohne Zähler zu erhöhen braindead Serveradministration und serverseitige Scripte 5 17.09.2007 16:48
CSS-Eigenschaften auf default-Werte zurücksetzen vladivar CSS 1 06.09.2007 13:00
Zähler Despairing Serveradministration und serverseitige Scripte 6 08.08.2007 22:24


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:07 Uhr.