![]() |
|
|
Themen-Optionen |
|
|
#1
|
|
Newbie
![]() Registriert seit: 13.08.2009
Ort: Oberasbach
Beiträge: 74
Kamera: Canon 40DVerwendet: CS6 Master |
Zufallsgenerator mit Prozentualer auswertungsbeeinflussungHallo zusammen,
würde gern für unseren club auf der Website ein kleines gewinnspiel einbauen. Es soll ein klassischer zufallsgenerator sein den ich aber gerne prozentual beeinflussen möchte. Zu gewinnen gibt es quasi einen Freien Eintritt in den Club. Ich bin zwar schon auf etwas gestoßen, weis aber nicht obs da richtige ist: HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Zufallsgenerator</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- jQuery einbinden --> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> /* Wenn der Body geladen ist werden die enthaltenen Funktionen ausgeführt. $(document).ready(function(){ ... }); Alle in dieser enthaltenen Funktionen werden entsprechd erst bei geladenem Body ausgeführt */ $(document).ready(function(){ /* Der Button mit der id #auslosungstarten wird mit einer click Funktion belegt. */ $('#auslosungstarten').click(function(){ /* Der Button selbst wird ausgeblendet */ $(this).hide('slow'); /* Ein Interval wird gestartet und die Funktion auslosung() alle 300 Milisekunden ausgeführt */ intVal = window.setInterval("auslosung()", 100); /* Nach 30 Sekunden wird der Gewinner gezogen */ window.setTimeout("winneris()", 3000); /* return false verhindert, dass der href des Links aufgerufen wird */ return false; }); auslosung = function(){ /* member enthält die Anzahl der Teilnehmer der Verlosung */ member = $('.member li').length; /* Math.random() generiert eine Zufallszahl. Diese mit den Teilnehmern multipliziert ergebit den index Wert eines der Teilnehmer. */ randNum = Math.floor(Math.random()*member); /* Die CSS Klasse "win" wird von allen li's entfernt und ... */ $('.member li').removeClass('win'); /* ... für den durch die Zufallszahl gewählten Teilnehmer neu gesetzt */ $('.member li:eq('+randNum+')').addClass('win'); /* Diese Funktion wiederholt sich alle 300 Milisekunden. Dadurch entsteht das Muster, dass immer ein anderer Teilnehmer markiert wird. */ } winneris = function(){ /* Nachdem 30 Sekunden lang zufällige Teilnehmer markiert wurden, wird der Intervall nun beendet */ clearInterval(intVal); /* Der zuletzt markierte Teilnehmer wird nun als Gewinner gezogen */ winner = $('.member li.win').html(); /* Der Gewinner wird in der #andthewinneris ausgegeben. */ $('#andthewinneris').html('Status: <strong>'+winner+'<\/strong>'); } }); </script> <style type="text/css"> /* Das ist der CSS Code zum Verlosungs-System und bedarf meiner Meinung nach keiner weiteren Erklärung */ *{outline:none;padding:0px;margin:0px;} body{padding:40px;font:14px "Myriad Pro";color:#333;} h1{margin-bottom:20px;font-size:26px;font-weight:normal;} .member{list-style:none;width: 100%;} .member li{padding:10px;width:160px;background:#efefef;border:1px solid #ddd;margin:0 10px 10px 0;float:left;text-align:center;} .member li.win{background:#fff9d7;border:1px solid #e2c822;} #auslosungstarten{padding:10px;width:160px;background:#f24f04;border:1px solid #c13d00;margin:0 10px 10px 0;float:left;text-align:center;font-weight:bold;text-decoration:none;display:block;color:#fff;margin-top:40px;} #andthewinneris{margin-top:40px;font-size:26px;font-weight:normal;color: #f24f04;} </style> </head> <body> <h1>Gewinnspiel</h1> <!-- Dashier ist die Liste der Teilnehmer von der Verlosung --> <ul class="member"> <li>fail</li> <li>fail</li> <li>Freier Eintritt</li> <li>fail</li> </ul><br clear="all" /> <!-- Button zum starten der Verlosung --> <a href="#" id="auslosungstarten">Auslosung starten...</a> <!-- Ausgabe des Gewinners: --> <h1 id="andthewinneris"></h1> </body> </html> und folgende schritte dachte ich mir noch zusätzlich: + eine stelle im code wo ich den prozentualen wert festlegen kann + eine 24std ip-sperre + eine mail soll an mich geschickt werden mit der ip und der emailadresse des gewinners (diese soll natürlich nirgend gespeichert werden, da es sonst Rechtlicher dinge benötigt) + wenn jemand gewonnen ha, soll ein popup aufgehen indem man seine e-mail adresse eingibt. Derjenige erhält dann eine eMail mit einer Karte die ausgedrukt werden soll. Auf der Karte muss ein code abgebildet werden z.b. seine ip-adresse, die ich dann im Club vergleichen kann ich weis das ist etwas sehr viel, aber kann ich diesen code dafür gut benutzen oder muss ich mit php und eine mysql arbeiten.? gruß Tomas
__________________
Wer das Rauchen aufgibt, muss nach dem Sex reden. |
|
|
|
#2
|
|
Posting-Frequenz: 14µHz
![]() ![]() ![]() ![]() ![]() Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.225
|
Was meinst du mit "prozentualer Wert festlegen"? Meinst du für bspw. A, B, C soll A zu 50% gewählt werden, B zu 35% und C zu 15%?
Falls ja, ist das eine gewichtete Zufallszahl (Suchbegriff: weighted random number). Dafür gibt es einen sehr einfachen Algorithmus. Alternativ kannst du ein Array mit 100 Einträgen erzeugen, davon 50 für A, 35 für B, 15 für C. Dieses Array mischst du dann und gehst es durch. Die IP-Sperrre kann nur serverseitig erfolgen. Für PHP findest du etlich viele Tutorials / Scripts in dieser Richtung. Für einen E-Mailer gilt das gleiche. PHP bzw. eine serverseitige Sprache musst du sowieso benutzen, du willst schließlich nicht clientseitig entscheiden wer gewonnen hat, ne. Deinen Code kannst du als Augenschmaus oben drauf setzen, nachdem du schon festgelegt hast ob dieser Nutzer / diese IP gewonnen hat. Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall |
|
|
|
#3
|
|
Newbie
![]() Themenstarter
Registriert seit: 13.08.2009
Ort: Oberasbach
Beiträge: 74
Kamera: Canon 40DVerwendet: CS6 Master |
danke! damit kann ich aufjedenfall schonmal was anfangen
gruß Tomas
__________________
Wer das Rauchen aufgibt, muss nach dem Sex reden. |
|
|
|
#4
|
|
Helper
![]() ![]() Registriert seit: 02.09.2009
Ort: Nürnberg
Beiträge: 251
Kamera: Canon EOS 600DVerwendet: Adobe Creative Suite CS6; Cinema 4D R11.5; Autodest Maya 2012 |
Bei Gewinnspielen MUSST du immer serverseitig arbeiten. Ansonsten kann jeder der ein bisschen Javascript versteht alles manipulieren.
Schreibe also alles in PHP und übergebe der HTML-Seite am Ende einfach die Ausgabe, die der User sehen soll. Zusätzlich kannst du das Popup mit Javascript öffnen, oder was besser wäre, - da viele User Popups blocken - ein DIV in den Vordergrund legen, in dem die Nachricht steht. |
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Zufallsgenerator Bildrotation | stefan211 | Flash - ActionScript | 3 | 02.01.2010 10:10 |
| Höhe per Zufallsgenerator ? | action_papst | C4D - XPresso, Thinking Particles, C.O.F.F.E.E. und Py4D | 2 | 28.01.2009 00:31 |
| Zufallsgenerator einbauen im ladeskript ??? | The_Picture_World | Flash - ActionScript | 5 | 02.11.2008 11:26 |
-
Reklame
-
-
- Include gibt nichts aus
- Objekt nach "backen" verschoben und unstruktriert
- WPTouch Anwendungsbeispiele?
- Bestimmte Pixel in HTML anfragen
- Alpha-Maske schwarz statt transparent
- Fotoseite auf Homepage
- Fit machen für den Webbereich
- Wordpress Experten für längerfristige Zusammenarbeit gesucht
- Ist PSE die Lightversion von PS?
- Filter Topaz Clean
- CS6 Bridge - Programm auswählen, das geöffnet werden soll
- Schneller Blitz für Sportfotographie
- Neu hier - Freu mich hier zu sein...
- eigene Form nicht als Fläche extrudieren - sondern als Rohr
- gestern erst neu dazu gekommen
- Link aus InDesign zu Anker in PDF
- Logo über slideshow
- Probleme mit öffnen von Bildern
- Neu hier
- Animation einer Jalousie.
-
-
Aktuelles Commag
Anzeige
-
-
- Abstimmen für [2D] Fortgeschrittenen Monatscontest Mai 2013
- Heute (20.05.) Webinar um 19.30 Uhr
- Abstimmen für 2. HDR/LDR-Fotocontest 2013 "Es war einmal" [Voting]
- Abstimmen für 21. Foto-Kreativcontest Gegensätze "hell-dunkel"
- Adobe Camera Raw 8.1 für CS6 auf Adobe Labs in einer Beta-Version
- News-Archiv
-
-
Anzeige










Social Media