zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden Zufallsskript für Textausgabe - Problem mit Funktionsabbruch

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 04.12.2013, 22:12
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.08.2013
Beiträge: 21
dst89 befindet sich auf einem aufstrebenden Ast
Standard Zufallsskript für Textausgabe - Problem mit Funktionsabbruch

Hallo,

ich bin jQuery-Neuling und versuche eine zufallsbasierte Textausgabe von p-Tags zu erstellen. Dabei habe ich versucht, in der Do-While-Schleife doppelungen auszumerzen. Was passiert aber nun, wenn ich nur ein p-Tag habe - dann läuft die Schleife ewig. Hatte versucht mit:

HTML-Code:
if(!zitate.length >= 2) return;
die ganze Funktion abzubrechen, aber ich befürchte, dass mir jemand das Prinzip noch mal erklären muss... Denn das ist jedenfalls nicht die Lösung, und ich suche was geschickteres, als eine weitere if-Abfrage, die den Block nur ausführt, wenn es mindestens zwei p-Elemente vorhanden sind. Das Prinzip von return, würde ich gerne verstehen...

HTML-Code:
        <section class="content emotion" data-offsety="380" data-type="background" data-speed="10">
            <article>
                <p>Zitat 1: Wer nicht hören will muss fühlen.</p>
                <p>Zitat 2: Blaukraut bleibt Blaukraut usw.</p>
                <p>Zitat 3: Lorem Ipsum Dolor Sit amet</p>
            </article>
        </section>

HTML-Code:
/* Zufallszitat */
function randomZitat(zitate, currentZitat) {
	alert(zitate.length)
	if(!zitate.length >= 2) return;
	zitate.hide();

	var zitateArray = $('.emotion article p').toArray();
	var elemlength = zitateArray.length;

	
	do {
	
		var zufallsZahl = Math.floor(Math.random() * elemlength);
		var randomZitat = zitateArray[zufallsZahl];
		
		
	} while ($(randomZitat).index() == $(currentZitat).index())
		
	alert(zitate.length)
	$(randomZitat).fadeIn('slow');
};
$(document).ready(function() {
	randomZitat($('.emotion article p'),$('.emotion article p').not(':hidden'));
	timerid = setInterval("randomZitat($('.emotion article p'), $('.emotion article p').not(':hidden'))", 3000);
});
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 15.12.2013, 13:30
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.08.2013
Beiträge: 21
dst89 befindet sich auf einem aufstrebenden Ast
Standard

hm... das sollte doch eigentlich keine schwer zu beantwortende Frage sein, für jemanden, der sich damit ein wenig auskennt, oder?!
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 16.12.2013, 10:42
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

Schau mal in die Fehlerkonsole, da sollte eigentlich stehen warum das nicht funktioniert.
Mit Zitat antworten
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
Font der Überschrift ändern (Problem) artist CSS 2 07.12.2007 11:01
Design zu CSS/HTML verarbeiten - Problem häufen sich. Grafikamateur CSS 2 06.08.2007 10:57
Problem mit WordPress und dem Bilder Upload Maxefix Serveradministration und serverseitige Scripte 0 19.12.2006 15:58
Problem bei Div's - zwei mal das gleiche und doch nicht ... Niriel CSS 10 09.06.2005 18:39
Problem mit einem CSS Layout nARC CSS 20 21.05.2005 07:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:45 Uhr.