Datenschutzerklärung

Banner-Rotation Zufall & Rotation mit Javascript?

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / Javascript-Forum /

Banner-Rotation Zufall & Rotation mit Javascript?

  Beitrag schreiben
Autor
Beitrag Seiten: 1
maxiffm
Mitglied

Registriert: 11.12.2009
Beiträge: 4
hallöchen an alle hier,

ich habe da ein (für mich schwieriges) problemchen, ich benutze ein script, wo die banner in rotation beim aufruf der seite zeitlich nacheinander ablaufen und es funktioniert auch gut, aber...und jetzt kommt das aber.....die rotation startet immer mit dem selben -> 1. banner und läuft dann bis zum 5. durch.

kann man das script so anpassen, dass die rotation  per zufall startet und dann entsprechend die 5 banner nacheinander anzeigt werden?

also die rotation startet zb. per zufall mit dem 3.banner und läuft dann zeitlich ab, also 3. banner start und dann z.b. alle 20 sek. ein wechsel der banner.

das script was ich suche soll den vorteil haben, wenn ein besucher z.b. in einer stunde fünfmal die seite besucht, nicht jedesmal den gleichen banner beim seitenaufruf sieht, aber wenn er 5 min. auf der seite ist, alle z.b. 20 sek. einen anderen banner zu gesicht bekommt.

hat jemand in der javascript-welt einen vorschlag, kann jemand helfen ?

mein script sieht so aus:

im head:

<script type="text/javascript">
var imgs1 = new Array("url_bild01.gif","url_bild02.gif","url_bild03.gif","url_bild04.gif","url_bild05.gif");
var lnks1 = new Array("http://www.link_1_url","http://www.link_2_url","http://www.link_3_url","http://www.link_4_url","http://www.link_5_url");
var alt1 = new Array("Topsite1","Topsite2","Topsite3","Topsite4","Topsite5");
var currentAd1 = 0;
var imgCt1 = 5;
function cycle1() {
  if (currentAd1 == imgCt1) {
    currentAd1 = 0;
  }
var banner1 = document.getElementById('adBanner1');
var link1 = document.getElementById('adLink1');
  banner1.src=imgs1[currentAd1]
  banner1.alt=alt1[currentAd1]
  document.getElementById('adLink1').href=lnks1[currentAd1]
  currentAd1++;
}
  window.setInterval("cycle1()",20000);
</script>

im body:

<a href="http://www.link_1_url" title="Topsite1" target="_blank" id="adLink1">

<img src="url_bild01.gif" id="adBanner1" border="0" width="468" height="60"></a>


wäre echt toll, wenn jemand helfen kann, ich habe schon das ganze web abgesucht, entweder per zufall mit erneutem seitenaufruf (mit php) oder zeitliche rotation (mit java), aber beides kombiniert als javascript gibts nicht.


viele grüße aus frankfurt
maxi


11.12.2009 10:59:18
  Beitrag schreiben
Chiaki
Moderator

Ort: Confoederatio Helvetica
Registriert: 23.12.2007
Beiträge: 243
Hallo,

wie wäre es, statt dem ...

var currentAd1 = 0;
var imgCt1 = 5;

... sowas zu schreiben wie ...

currentAds1 = [1,2,3,4,5];
var currentAd1 = currentAds1[Math.floor(Math.random()*currentAds1.length)];
var imgCt1 = 5;

Greetings, Chiaki~


_______________________________________
Make sure You've read RFC 1855, before sending electronic mail,
start Chats, posting on Newsgroups or leave any Comments.
RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>

11.12.2009 18:40:46
http://www.rfc1855.net/ Beitrag schreiben
maxiffm
Mitglied

Registriert: 11.12.2009
Beiträge: 4
hi & hallo chiaki,

ich habe (mit hilfe von außen ;-)) das script als zufalls-rotation hinbekommen, nur müßte es noch so sein, dass es nicht immer bei einem erneuten seitenaufruf nicht immer den 1. banner aufruft, sondern per zufall den ersten banner anzeigt.

link zum script: http://logfile.me/zufall.html

hi das überarbeitete script:

in den head:

<script type="text/javascript">
    
    function mischen(){
    for(var i =0; i < imgs1.length; i++){
    zahl = Math.floor(Math.random() * imgs1.length);
   }
   
  return zahl;
  }

    
    
var imgs1 = new Array("http://www.logfile.me/banner/banner_1.jpg","http://www.logfile.me/banner/banner_2.jpg","http://www.logfile.me/banner/banner_3.jpg","http://www.logfile.me/banner/banner_4.jpg","http://www.logfile.me/banner/banner_5.jpg");
var lnks1 = new Array("http://www.logfile.me/zufall.html","http://www.logfile.me/zufall.html","http://www.logfile.me/zufall.html","http://www.logfile.me/zufall.html","http://www.logfile.me/zufall.html");
var alt1 = new Array("Topsite_1","Topsite_2","Topsite_3","Topsite_4","Topsite_5");
var currentAd1 = 0;
var imgCt1 = 5;
function cycle1() {
        var za = mischen();
        
if (currentAd1 == imgCt1) {
currentAd1 = 0;
}
var banner1 = document.getElementById('adBanner1');
var link1 = document.getElementById('adLink1');
banner1.src=imgs1[za]
banner1.alt=alt1[za]
document.getElementById('adLink1').href=lnks1[za]
currentAd1++;
}
window.setInterval("cycle1()",3000);
</script>

in den body:

<table width="468" border="0" align="left" cellpadding="0" cellspacing="0">
  <tr>
    <td><a href="http://www.logfile.me" title="Topsite_1" target="_blank" id="adLink1">

<img src="http://www.logfile.me/banner/banner_1.jpg" id="adBanner1" border="0" width="468" height="60"></a>
</td>
  </tr>
</table>


hast du ne idee, wie ich den ersten banner als zufall-banner bekomme?

viele grüße aus frankfurt

maxi


11.12.2009 18:59:42
  Beitrag schreiben
Chiaki
Moderator

Ort: Confoederatio Helvetica
Registriert: 23.12.2007
Beiträge: 243
Hi,

mein vorheriges Posting lässt sich prinzipiell noch immer anwenden. Ersetze einfach
die genannten Zeilen, dann sollte das Start-Banner jeweils ein zufälliges sein.

Greetings, Chiaki~


_______________________________________
Make sure You've read RFC 1855, before sending electronic mail,
start Chats, posting on Newsgroups or leave any Comments.
RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>

11.12.2009 19:11:35
http://www.rfc1855.net/ Beitrag schreiben
maxiffm
Mitglied

Registriert: 11.12.2009
Beiträge: 4
hi chiaki,

ich habs geändert / angepasst, geht aber nicht, oh man, was mach ich verkehrt ??

online: http://logfile.me/test.html

hier das geänderte script:

<script type="text/javascript">
    
    function mischen(){
    for(var i =0; i < imgs1.length; i++){
    zahl = Math.floor(Math.random() * imgs1.length);
   }
   
  return zahl;
  }

    
    
var imgs1 = new Array("http://www.logfile.me/banner/banner_1.jpg","http://www.logfile.me/banner/banner_2.jpg","http://www.logfile.me/banner/banner_3.jpg","http://www.logfile.me/banner/banner_4.jpg","http://www.logfile.me/banner/banner_5.jpg");
var lnks1 = new Array("http://www.logfile.me/zufall.html","http://www.logfile.me/zufall.html","http://www.logfile.me/zufall.html","http://www.logfile.me/zufall.html","http://www.logfile.me/zufall.html");
var alt1 = new Array("Topsite_1","Topsite_2","Topsite_3","Topsite_4","Topsite_5");
var currentAd1 = currentAds1[Math.floor(Math.random()*currentAds1.length)];
var imgCt1 = 5;
function cycle1() {
        var za = mischen();
        
if (currentAd1 == imgCt1) {
currentAds1 = [1,2,3,4,5];
}
var banner1 = document.getElementById('adBanner1');
var link1 = document.getElementById('adLink1');
banner1.src=imgs1[za]
banner1.alt=alt1[za]
document.getElementById('adLink1').href=lnks1[za]
currentAd1++;
}
window.setInterval("cycle1()",3000);
</script>

vielen dank für deine hilfe.

grüße maxi


11.12.2009 19:40:51
  Beitrag schreiben
Chiaki
Moderator

Ort: Confoederatio Helvetica
Registriert: 23.12.2007
Beiträge: 243
Du hast 1 Zeile zu wenig geändert. Du solltest 2 Zeilen durch 3 ersetzen.

Das...

var currentAd1 = 0;
var imgCt1 = 5;

durch das...

currentAds1 = [1,2,3,4,5];
var currentAd1 = currentAds1[Math.floor(Math.random()*currentAds1.length)];
var imgCt1 = 5;

Greetings, Chiaki~


_______________________________________
Make sure You've read RFC 1855, before sending electronic mail,
start Chats, posting on Newsgroups or leave any Comments.
RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>

11.12.2009 20:49:46
http://www.rfc1855.net/ Beitrag schreiben
maxiffm
Mitglied

Registriert: 11.12.2009
Beiträge: 4
hallo Chiak,

also ich habe die drei zweilen korrekt eingebaut und getestet - geht nicht !

beim neuladen der seite wird immer noch der 1. banner angezeigt.

kannst du mal bitte schauen http://logfile.me/test.html

danke für deine hilfe

gruß maxi


11.12.2009 21:12:36
  Beitrag schreiben
Seiten: 1   Beitrag schreiben
Wechsel zu

Valid HTML 4.01