• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

neues Fenster öffnen nach bestimmten Klicks

SunnyDays

Neues Mitglied
Hallo,
erstmal großes Lob --> tolle Homepage! =)

Ich bräuchte mal eine kleine Hilfe, und zwar:

Ich habe mir einen Klickbutton mit Zähler programmiert.

sieht so aus ---> 134 Klick-Mich

Nun wollte ich wissen, ob es möglich ist,
dass ich sage, z.B nach jedem 10ten Klick soll sich ein Fenster öffnen?1

Vielen Dank im Voraus für Bemühungen =)

MFG Sascha
 
Sowas könnte man mit JavaScript realisieren, vorausgesetzt der Browser unterdrückt keine Popups (was heutzutage fast alle Browser machen). Alternative wäre auch ein Flyout, welches man ebenfalls per JavaScript einblenden müsste.
 
Um das Popup-Problem zu umgehen, kann es vielleicht auch ein Layer statt einem Fenster sein?
Diesen könntest du z.B. mit Fancybox aufrufen.

Bleibt nur noch die Frage, wie du "jeden 10ten" definierst.
Aus User-Sicht, also Zählerstand bei Seitenaufruf?
Oder aus Server-Sicht, also Zahlerstand 10, 20, 30, 40...etc?
Das wäre wichtig, um zu entscheiden, für welche Sprache man sich entscheidet.
 
Hallo,

erstmal danke für die schnellen Antworten!

Hmm, also javascript wollte ich eigentlich nicht noch miteinfügen...

Die Fancybox gefällt mir persönlich richtig gut.

Hier habe ich mal einen Code

<html><head><title>mein kleiner selbstzusammengeschusterter javascript clickcounter</title>
</head><body>
<form name="test" action="">
<script> count=1; </script>
<input type="text" size="10" name="ausgabe" readonly="readonly" value=""> <input type="button" value="klickmich" onclick="this.form.ausgabe.value = count++">
</form>
</body></html>

Die Ausgabe ist lediglich ein Textfeld mit einem Button daneben zum Klicken.

Nun hätte ich hier gerne, dass nach ein paar mal klicken, egal wie oft, 10 war nur ein Beispiel,
sich so eine Fancybox öffnet...

Kann mir da Jemand helfen? Wäre echt nett =)

Kann ich die Fancybox auch auf eine Url weiterleiten?!

Besten Dank und freundliche Grüße

Sascha
 
Ansatz:

Geht natürlich auch ohne jQuery, aber ich tue mir das nicht mehr an, wenn es nicht sein muss.

HTML:
<!DOCTYPE html>

<html lang="en">

    <head>
        <meta charset="utf-8" />
        <title>New</title>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <script type="text/javascript">
            /*<![CDATA[*/

            // Returns a random integer between min and max (inclusive)
            function getRandomInt(min, max)
            {
                return Math.floor(Math.random() * (max - min + 1)) + min;
            }

            var count = 0;

            $(function () {
                $('input[name=ausgabe]').val(count);
                $('input[name=klickmich]').bind('click', function () {
                    count++;

                    $('input[name=ausgabe]').val(count);

                    if (getRandomInt(0, 9) === 0) {
                        alert('Hier Fancybox öffnen');
                    }
                });
            });

            /*]]>*/
        </script>
    </head>

    <body>

        <form name="test" action="">
            <input type="text" size="10" name="ausgabe" readonly="readonly" value="">
            <input type="button" name="klickmich" value="klickmich" >
        </form>
    </body>

</html>

Kann ich die Fancybox auch auf eine Url weiterleiten?!

Ja.
 
hallo mermshaus,
vielen Dank für deine Bemühung und deinen Script!

Allerdings öffnet sich das neue Fenster bei mir mal nach 2 Klicks mal 20 immer unterschiedlich.
keine Ahnung woran es liegt...

und als zweites was mein "größeres Problem ist" -
ich schreibe den Wert in eine Datenbank und da hab ich leider keine Ahnung wie ich es bei Diesem Script mache.

Hier mal mein aktueller Script

<?php


include("zugriff.inc.php");


if(isset($_POST['ausgabe'])) {
mysql_query("UPDATE `login` SET `count`=`count`+1, `countdate`='".time()."' WHERE `username`='".$_SESSION['username']."'");
}


$sql = mysql_query("SELECT * FROM `login` WHERE `username`='".$_SESSION['username']."'");
while($row = mysql_fetch_object($sql)) {
echo "<html><head><title>mein Clickcounter</title>
</head><body>


<form action='' method='post'>
Anzahl deiner gesamten Klicks
<input type='text' size='10' align='bottom' name='ausgabe' readonly='readonly' value='".$row->count."' />
<input type='image' name='absenden' value='KlickButton' src='klickbutton.jpg' width='200' height='200' align='left'>
</form>
</body></html>";
}


?>


Ich hätte es gerne, dass ich es einstellenn kann nach 10 Klicks öffnet sich die fancybox mit www.lust.de/liebe1.jpg

nach 20 Klicks öffnet sich die fancybox mit www.lust.de/liebe2.jpg

nach 30 Klicks öffnet sich die fancybox mit www.lust.de/liebe3.jpg usw.

Weißt du vllt hier einen Rat?! =)

Besten Dank und freundliche Grüße

Sascha
 
Nun hätte ich hier gerne, dass nach ein paar mal klicken, egal wie oft, 10 war nur ein Beispiel,
sich so eine Fancybox öffnet...

Das klang für mich nach Zufallszahl und genau das habe ich eingebaut, falls du dir mal die Mühe machen magst, in den Code zu schauen.

Mach dir außerdem bitte klar, dass JavaScript clientseitig läuft und PHP serverseitig. Das heißt, eine JavaScript-Lösung würde den Klickzähler pro Request mehrfach erhöhen, aber ohne Datenbankzugriff (Ajax) nicht auf dem Server speichern. Eine PHP-Lösung könnte den Counter zentral um 1 pro Request erhöhen und persistent speichern.

Wir können nicht wissen, welche Umsetzung dir genau vorschwebt. Das müsstest du uns so erklären, dass wir es verstehen können.
 
Hallo,

ja natürlich habe ich mir deinen Script angeschaut,
aber nicht allzuviel verstanden ;-)

Hmm eigentlich müsste es nicht gespeichert werden, mir reicht dass die kompletten Klicks in der DB sind.
Aber ich hätte schon gerne dass es nicht per Zufall ist sondern nach bestimmten Klicks ich sag jetzt mal nach 100 Klicks.
dann wieder bei bei 200 dann bei 300 usw.

und jedesmal würde ich auch gerne eine andere url aufrufen lassen.

Ich hoffe du verstehst was ich meine =)

Besten Dank

LG
 
Zurück
Oben