Kezdőoldal » Számítástechnika » Programozás » Minden tizedik kattintásnál...

Minden tizedik kattintásnál írja ki, hogy "hello világ", ezt hogy tudom megoldani js-el?

Figyelt kérdés
Úgy szeretném, hogyha rákattintok a "valami" nevezetű submit gombra, akkor minden tizedik kattintásnál kiírná, hogy "hello világ" és ha nem a tizedik, akkor kiírja, hogy "nem sikerült". Köszönöm előre is a válaszokat, nagyon sürgős lenne!

2014. jan. 3. 12:14
 1/3 anonim ***** válasza:
Hát te is ma kezdted, az az érzésem.
2014. jan. 3. 13:08
Hasznos számodra ez a válasz?
 2/3 uno20001 ***** válasza:

Legyen meg a kezdők "szerencséje".


[link]

2014. jan. 3. 13:15
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

Az egyszerű megoldás (ezt mondjuk illene segítség nélkül is összehozni, még ha kezdő vagy is):


var calls = 0;

document.getElementById("valami").onclick = function() {

˙˙˙˙calls++;

˙˙˙˙if (calls == 10) {

˙˙˙˙˙˙˙˙calls = 0;

˙˙˙˙˙˙˙˙alert("Hello, Világ!");

˙˙˙˙} else {

˙˙˙˙˙˙˙˙alert("Nem sikerült");

˙˙˙˙}

};



A valamivel profibb megoldás pedig:


function ModulusMessageService(successMsg, errorMsg, resetThreshold) {

˙˙˙˙var callsInARow = 0;


˙˙˙˙this.getMessage = function() {

˙˙˙˙˙˙˙˙registerCall();

˙˙˙˙˙˙˙˙return (isReturningSuccess()) ? successMsg : errorMsg;

˙˙˙˙};


˙˙˙˙var registerCall = function() {

˙˙˙˙˙˙˙˙callsInARow = (callsInARow + 1) % resetThreshold;

˙˙˙˙};


˙˙˙˙var isReturningSuccess = function() {

˙˙˙˙˙˙˙˙return ((callsInARow % resetThreshold) == 0);

˙˙˙˙};

};


function AlertingMessageView() {

˙˙˙˙this.display = function(message) {

˙˙˙˙˙˙˙˙alert(message);

˙˙˙˙};

};


var service = new ModulusMessageService("Hello, Világ!", "Nem sikerült.", 10);

var view = new AlertingMessageView();

document.getElementById("valami").onclick = function() {

˙˙˙˙view.display(service.getMessage());

};


Itt elmagyarázni, hogy miért az utóbbi a jó, elég hosszú lenne, de privátban, apránként szívesen elmondom, ha érdekel...


Természtesen a "˙" karaktereket ki kell dobni, azok csak a formázás megtartása miatt lettek ide beírva (a GYK trimmeli a válaszokat).

2014. jan. 3. 13:20
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!