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 |
|
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/ |
 |
|
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 |
|
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/ |
 |
|
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 |
|
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/ |
 |
|
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 |
|