Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Zufallszeit innerhalb eines Scripts
#1
Hallo,

habe hier ein kleines Script, dass mir alle (zur Zeit) 35 Sekunden ein neues Bild in einen IFrame anzeigt.

Ist es möglich, diese 35 Sekunden ebenfalls als Zufalls Zeit zu erstellen.... 
Also das erste Bild wird nach (zufällig) z.B. 10 Sekunden angezeigt, 
das nächste Bild nach (zufälliger Wert) z.B. 40 Sekunden,
das nächste Bild nach (zufälliger Wert) z.B. 25 Sekunden und so weitet und so weiter....
Der Wert sollte zwischen 10 und 60 Sekunden zufällig gewählt werden, damit es -na ja, halt "zufällig" aussieht, wann das nächste Bild geladen wird.

Für eure Meinungen und Vorschläge wäre ich echt dankbar  Big Grin

Gruß Heinz

Code:
var i = 0;
var urls = new Array();

urls[i++] = "link zu bild 1";
urls[i++] = "link zu bild 2";
urls[i++] = "link zu bild 3";
urls[i++] = "link zu bild 4";

var sekunden = 35;
var lastimage;
document.write("<div id='randomimagediv'></div>");

function newimage()
{
  var newurl;
  do
  {
  newurl = urls[Math.floor(Math.random()*urls.length)];
  }
  while (newurl == lastimage)
  lastimage = newurl;
  document.getElementById("randomimagediv").innerHTML = '<iframe src="' + newurl + '" frameBorder="0" width="100px" height="100px"/></iframe>';
}

window.setInterval("newimage()",sekunden*1000);
Zitieren
#2
Hi Kreml16,
einen Bildwechseler ist mit JavaScript in verschiedenerweise möglich. Ersteinmal sollte ich dir die Empfehlung geben keine document.write-Methode zu verwenden, um in HTML was zu schreiben.

Hier meine Version:
Code:
var url = ['bild1.jpg','bild2.jpg','bild3.jpg','bild4.jpg','bild5.jpg'];
var i = 0;var myTime = 1000;
function getRandomNumber() {
    let min = 1; let max = 35;
    return Math.random() * (max - min) + min;
}
function randomImage() {
    let newImage = createElement('img');
    newImage.setAttribute('src', url[i]);
    document.body.appendChild(newImage);
    let myTime = getRandomNumber() * 1000;
    setTimeout(randomImage, myTime);
    if(i<url.length) {i++;} else {i=0;}
}

Viel Erfolg

Gruss rzscout
Zitieren
#3
Hallo rzscout,

vielen Dank für den wirklich sehr eleganten Lösungsvorschlag  Angel ,
jedoch bin ich auf den IFrame angewiesen....  Blush .

Leider kann ich nur diesen einen Passus ändern.
Code:
var sekunden = 35;
Den brauche ich nicht mit einem festen wert von 35 sondern einem Wert von 10 bis 60 als Zufallszahl.

Könntest du / ihr noch mal drüber schauen  Big Grin

Gruß Heinz
Zitieren
#4
(22.06.2022, 20:59)Kreml16 schrieb: Hallo rzscout,

vielen Dank für den wirklich sehr eleganten Lösungsvorschlag  Angel ,
jedoch bin ich auf den IFrame angewiesen....  Blush .

Leider kann ich nur diesen einen Passus ändern.
Code:
var sekunden = 35;
Den brauche ich nicht mit einem festen wert von 35 sondern einem Wert von 10 bis 60 als Zufallszahl.

Könntest du / ihr noch mal drüber schauen  Big Grin

Gruß Heinz

Kein Thema, vielen dank für deine Rückmeldung. Ich habe da eine Frage: wozu benötigst du Iframes?

Gruss rzscout
Zitieren
#5
Blush Wie alles im Leben .... alles ist kompliziert  Dodgy 

Ein guter Bekannter (84 Jahre jung) hat eine Webseite (bereits seit fast 20 Jahren) und diese immer nur mit seinen Lebensgeschichten gefüllt. Jetzt habe ich ihm versprochen die gröbsten Fehler raus zu nehmen, da diese Webseite mit den neuen Browsern kaum noch angezeigt wird. Einen "Neubau" der Webseite möchte er auf keinen Fall. Ich bin jetzt seit fast 3 Monaten dran die Seite "am leben zu halten", habe aber nur Nachts 2-3 Stunden täglich Zeit dafür. Die Betonung meine Freundes liegt ganz klar auf "Ich möchte aber nicht, dass die Webseite nach dem Eingriff anders aussieht und auch nicht anders für mich zu bedienen ist". Gerne versuche ich ihm diesen Wunsch zu erfüllen.

In dieser Seite ist alles mit IFrames aufgebaut. Selbstverständlich würde ich gerne ALLES ändern.... aber.... jetzt kommts...

Vor 4 Monaten ist sein Computer kaputt gegangen auf dem noch Windows NT lief..... Neuen Computer gekauft und nichts funktionierte mehr, da mein Freund niemals auf die Idee gekommen ist, dass sich die Technik weiter entwickeln könnte.
Er lebt halt in seiner eigenen kleinen Welt und ist immer der Meinung gewesen, dass alle anderen Menschen die Seite genau so sehen, wie er selber. Er besuchte auch so gut wie nie andere Webseiten. 

In einer der Geschichten, die liebevoll geschrieben sind, geht es um einen Lebensabschnitt der im Jahre 1943 spielt.
Jetzt möchte mein Freund ca. 250 Bilder so in die Geschichte einbauen und die  die Bildanzeige soll "zufällig" aussehen.
Da ich die mir zur Verfügung stehende Zeit lieber mit der "Rettung" seiner Geschichten verbringen möchte, frage ich lieber Fachleute um Rat  Wink .

Ich habe glücklicherweise die Zusicherung bekommen, alle Geschichten nach seinem Ableben in ein neues Format bringen zu dürfen und für die Nachwelt aufarbeiten zu dürfen.

Nur zur Info: Über 7000 !!! Geschichten, Erlebnisse, Schicksalsschläge aber auch viele Glückliche Episoden.

((( Das musste ich jetzt mal los werden, auch wenn mich das Schreiben jetzt doch ein paar Minuten Zeit gekostet hat  Cool )))

Gibt es die Möglichkeit diese 
Code:
var sekunden = 35;
so zu gestalten, dass es "zufällig" aussieht ?

Gruß Heinz (und vielen Dank für deine / eure Mühe  Heart )
Zitieren
#6
Darfst du uns den Link zur Webseite geben?
Dann kann man sich das mal genauer anschauen und ggf. auch besser helfen.
Dein Kollege muss bedenken, dass alte Code nach und nach rausfliegt bei den Browsern.
Wenn man jetzt aktuellen html5 Code mit Flexbox und mediaqueries verwendet sollte man eigentlich alle Endgeräte erreichen.
Dein Code ist veraltet (gerade document.write) und iFrame brauch man nicht unbedingt.
Der Code von rzscout reicht vollkommen.
Ggf. den img Tag noch mit CSS anpassen und es sieht aus wie vorher.
Bedenke, dass dein document.write auch irgendwann aus den Browsern rausfliegen kann und dann nicht mehr angezeigt wird.
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren
#7
(23.06.2022, 00:16)Kreml16 schrieb: Blush Wie alles im Leben .... alles ist kompliziert  Dodgy 

Ein guter Bekannter (84 Jahre jung) hat eine Webseite (bereits seit fast 20 Jahren) und diese immer nur mit seinen Lebensgeschichten gefüllt. Jetzt habe ich ihm versprochen die gröbsten Fehler raus zu nehmen, da diese Webseite mit den neuen Browsern kaum noch angezeigt wird. Einen "Neubau" der Webseite möchte er auf keinen Fall. Ich bin jetzt seit fast 3 Monaten dran die Seite "am leben zu halten", habe aber nur Nachts 2-3 Stunden täglich Zeit dafür. Die Betonung meine Freundes liegt ganz klar auf "Ich möchte aber nicht, dass die Webseite nach dem Eingriff anders aussieht und auch nicht anders für mich zu bedienen ist". Gerne versuche ich ihm diesen Wunsch zu erfüllen.

In dieser Seite ist alles mit IFrames aufgebaut. Selbstverständlich würde ich gerne ALLES ändern.... aber.... jetzt kommts...

Vor 4 Monaten ist sein Computer kaputt gegangen auf dem noch Windows NT lief..... Neuen Computer gekauft und nichts funktionierte mehr, da mein Freund niemals auf die Idee gekommen ist, dass sich die Technik weiter entwickeln könnte.
Er lebt halt in seiner eigenen kleinen Welt und ist immer der Meinung gewesen, dass alle anderen Menschen die Seite genau so sehen, wie er selber. Er besuchte auch so gut wie nie andere Webseiten. 

In einer der Geschichten, die liebevoll geschrieben sind, geht es um einen Lebensabschnitt der im Jahre 1943 spielt.
Jetzt möchte mein Freund ca. 250 Bilder so in die Geschichte einbauen und die  die Bildanzeige soll "zufällig" aussehen.
Da ich die mir zur Verfügung stehende Zeit lieber mit der "Rettung" seiner Geschichten verbringen möchte, frage ich lieber Fachleute um Rat  Wink .

Ich habe glücklicherweise die Zusicherung bekommen, alle Geschichten nach seinem Ableben in ein neues Format bringen zu dürfen und für die Nachwelt aufarbeiten zu dürfen.

Nur zur Info: Über 7000 !!! Geschichten, Erlebnisse, Schicksalsschläge aber auch viele Glückliche Episoden.

((( Das musste ich jetzt mal los werden, auch wenn mich das Schreiben jetzt doch ein paar Minuten Zeit gekostet hat  Cool )))

Gibt es die Möglichkeit diese 
Code:
var sekunden = 35;
so zu gestalten, dass es "zufällig" aussieht ?

Gruß Heinz (und vielen Dank für deine / eure Mühe  Heart )

Moin Heinz,
ja das ist leider ein Problem mit dem - es soll sich nix verändern. Da fast alle Nutzer neuere Systeme mit neueren Browsern arbeiten, werden nach dem alten Schema keiner oder nur wenige die Seiten lesen. Zufallsbilder anzeigen geht auch ohne Iframes. Mithilfe von JavaScript ist es möglich passend zur Artikelabschnitten Zufallsbilder anzeigen zu lassen.

Gerne kannst du uns den Quellcod/Quelltext senden, so das wir Tipps geben können oder Empfehlungen schreiben.

Du kannst uns gerne auch den Link zur alten Seite senden, vielleicht sind einige Freiwillige da, die dir gerne unter die Arme greifen.

Viel Erfolg

rzscout
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste