Timer
een soort van veiling.
Nu heb ik dit stukje code gekregen van een maat van me alleen ik loop een beetje vast.
Quote:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<script language="javascript">
function mouseDown(e) {
if (parseInt(navigator.appVersion)>3) {
var clickType=1;
if (navigator.appName=="Netscape") clickType=e.which;
else clickType=event.button;
if (clickType!=1) {
return false;
}
}
return true;
}
if (parseInt(navigator.appVersion)>3) {
document.onmousedown = mouseDown;
if (navigator.appName=="Netscape")
document.captureEvents(Event.MOUSEDOWN);
}
var tellertimer=new Array(0,101,101,101,272);
var tellertimertotaal=new Array(0,272,272,272,422);
var boetebedrags=new Array(0,600000,600000,600000,1036800);
function convertIt(_v)
{
var _dollars=parseInt(_v);
var _cents=parseInt((_v-_dollars)*100);
var _negative=_dollars<0;
if(_negative){_dollars=-_dollars;_cents=-_cents;}
while(_cents.toString().length<2)_cents="0"+_cents;
var _dA=_dollars.toString().split("");
var _d="";
for(var i=_dA.length-1;i>=0;i--)
{
var _comma="";
if((_dA.length-i)%3==0 && i!=0)_comma=",";
_d=_comma+_dA[i]+_d;
}
var _neg_sign=_negative?"-":"";
var _result=" "+_neg_sign+_d;
return _result;
}
function timer() {
for (ancon=1;ancon<=4;ancon++){
if (tellertimer[ancon]>2){
tellertimer[ancon] = tellertimer[ancon] - 0.06;
if (tellertimer[ancon] < 0) {
if (nietdoen[ancon] == 1) {
nietdoen[ancon] = 0;
}
} else {
var tijde = tellertimer[ancon];
var uur = parseInt(tijde / 3600);
tijde = tijde - uur * 3600;
var min = parseInt(tijde / 60);
tijde = tijde - min * 60;
var sec = Math.round(tijde);
if (uur > 0)
document.getElementById('tijd'+ancon).innerHTML = uur +"U "+ min +"M "+ sec +"S";
else if (min > 0)
document.getElementById('tijd'+ancon).innerHTML = min +"M "+ sec +"S";
else
document.getElementById('tijd'+ancon).innerHTML = sec +"S";
}
document.getElementById('eerste'+ancon).width = 140 * (tellertimer[ancon] / (tellertimertotaal[ancon]/100)/100) ;
document.getElementById('tweede'+ancon).width = 140 - document.getElementById('eerste'+ancon).width;
if ((tellertimer[ancon] / (tellertimertotaal[ancon]/100))>50){
//document.getElementById('eerste').bgColor="600000";
document.getElementById('bedragvorzsetting'+ancon).innerHTML = convertIt(boetebedrags[ancon] * (tellertimer[ancon] / (tellertimertotaal[ancon]/100)/100));
document.getElementById('bedragvorzsetting1'+ancon).innerHTML = " ";
}else{
//document.getElementById('eerste').bgColor="737a51";
document.getElementById('bedragvorzsetting'+ancon).innerHTML = " ";
document.getElementById('bedragvorzsetting1'+ancon).innerHTML = convertIt(boetebedrags[ancon] * (tellertimer[ancon] / (tellertimertotaal[ancon]/100)/100));
}
}else{
}
}
}
setInterval("timer()",60);
</script>
function mouseDown(e) {
if (parseInt(navigator.appVersion)>3) {
var clickType=1;
if (navigator.appName=="Netscape") clickType=e.which;
else clickType=event.button;
if (clickType!=1) {
return false;
}
}
return true;
}
if (parseInt(navigator.appVersion)>3) {
document.onmousedown = mouseDown;
if (navigator.appName=="Netscape")
document.captureEvents(Event.MOUSEDOWN);
}
var tellertimer=new Array(0,101,101,101,272);
var tellertimertotaal=new Array(0,272,272,272,422);
var boetebedrags=new Array(0,600000,600000,600000,1036800);
function convertIt(_v)
{
var _dollars=parseInt(_v);
var _cents=parseInt((_v-_dollars)*100);
var _negative=_dollars<0;
if(_negative){_dollars=-_dollars;_cents=-_cents;}
while(_cents.toString().length<2)_cents="0"+_cents;
var _dA=_dollars.toString().split("");
var _d="";
for(var i=_dA.length-1;i>=0;i--)
{
var _comma="";
if((_dA.length-i)%3==0 && i!=0)_comma=",";
_d=_comma+_dA[i]+_d;
}
var _neg_sign=_negative?"-":"";
var _result=" "+_neg_sign+_d;
return _result;
}
function timer() {
for (ancon=1;ancon<=4;ancon++){
if (tellertimer[ancon]>2){
tellertimer[ancon] = tellertimer[ancon] - 0.06;
if (tellertimer[ancon] < 0) {
if (nietdoen[ancon] == 1) {
nietdoen[ancon] = 0;
}
} else {
var tijde = tellertimer[ancon];
var uur = parseInt(tijde / 3600);
tijde = tijde - uur * 3600;
var min = parseInt(tijde / 60);
tijde = tijde - min * 60;
var sec = Math.round(tijde);
if (uur > 0)
document.getElementById('tijd'+ancon).innerHTML = uur +"U "+ min +"M "+ sec +"S";
else if (min > 0)
document.getElementById('tijd'+ancon).innerHTML = min +"M "+ sec +"S";
else
document.getElementById('tijd'+ancon).innerHTML = sec +"S";
}
document.getElementById('eerste'+ancon).width = 140 * (tellertimer[ancon] / (tellertimertotaal[ancon]/100)/100) ;
document.getElementById('tweede'+ancon).width = 140 - document.getElementById('eerste'+ancon).width;
if ((tellertimer[ancon] / (tellertimertotaal[ancon]/100))>50){
//document.getElementById('eerste').bgColor="600000";
document.getElementById('bedragvorzsetting'+ancon).innerHTML = convertIt(boetebedrags[ancon] * (tellertimer[ancon] / (tellertimertotaal[ancon]/100)/100));
document.getElementById('bedragvorzsetting1'+ancon).innerHTML = " ";
}else{
//document.getElementById('eerste').bgColor="737a51";
document.getElementById('bedragvorzsetting'+ancon).innerHTML = " ";
document.getElementById('bedragvorzsetting1'+ancon).innerHTML = convertIt(boetebedrags[ancon] * (tellertimer[ancon] / (tellertimertotaal[ancon]/100)/100));
}
}else{
}
}
}
setInterval("timer()",60);
</script>
En daar zit dit stukje html bij nu zie ik als ik naar de pagina toe ga dat er een veiling is van een telefoon die 222 euro kost
Maar hoe korter de veiling word hoe goedkoper die moet worden dus inprencipe loopt de timer van 222 langzaam naar 0 of een bepaald bedrag.
Alleen hoe wil ik daar nu van maken dat ik het niet handmatig in het script moet zetten maar dat die dat uit de database haald want als ik hem nu vernieuw dan staat de teller gewoon weer op 222 dan zou hij inprencipe verder moeten gaan waar hij gebleven is.
Zou iemand me een beetje de goede weg in willen sturen, dankje wel
Quote:
Gewijzigd op 14/09/2012 15:05:43 door Andytjuh Bruggeman
Is er geld bij gemoeid?
Is er een vaste tijd waarop een item wordt verkocht, zodat elke gebruiker de zelfde klok ziet aftikken op het zelfde moment (of krijgt elke gebruiker een vast aantal seconden, vanaf dat de pagina op zijn scherm staat?)?
Ten eerste even benadrukken: Je kan zo'n klok gebruiken om aan de gebruiker te tonen, maar de berekening van de prijs moet je in PHP doen. Niet in javascript. Anders kan een handige gebruiker dit zelf manipuleren.
Zeg achteraf niet dat je niet gewaarschuwd was!
Trouwens: volgens welke formule vermindert die prijs?
Ja iedereen ziet de zelfde tijd er bij staan.
Ik weet zeker dat de array wat er instaan via een database moet komen
Code (php)
1
2
3
2
3
var tellertimer=new Array(0,101,101,101,272);
var tellertimertotaal=new Array(0,272,272,272,422);
var boetebedrags=new Array(0,600000,600000,600000,1036800);
var tellertimertotaal=new Array(0,272,272,272,422);
var boetebedrags=new Array(0,600000,600000,600000,1036800);
Dit stukje is de berekening
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
if ((tellertimer[ancon] / (tellertimertotaal[ancon]/100))>50){
//document.getElementById('eerste').bgColor="600000";
document.getElementById('bedragvorzsetting'+ancon).innerHTML = convertIt(boetebedrags[ancon] * (tellertimer[ancon] / (tellertimertotaal[ancon]/100)/100));
document.getElementById('bedragvorzsetting1'+ancon).innerHTML = " ";
}else{
//document.getElementById('eerste').bgColor="737a51";
document.getElementById('bedragvorzsetting'+ancon).innerHTML = " ";
document.getElementById('bedragvorzsetting1'+ancon).innerHTML = convertIt(boetebedrags[ancon] * (tellertimer[ancon] / (tellertimertotaal[ancon]/100)/100));
}
}else{
//document.getElementById('eerste').bgColor="600000";
document.getElementById('bedragvorzsetting'+ancon).innerHTML = convertIt(boetebedrags[ancon] * (tellertimer[ancon] / (tellertimertotaal[ancon]/100)/100));
document.getElementById('bedragvorzsetting1'+ancon).innerHTML = " ";
}else{
//document.getElementById('eerste').bgColor="737a51";
document.getElementById('bedragvorzsetting'+ancon).innerHTML = " ";
document.getElementById('bedragvorzsetting1'+ancon).innerHTML = convertIt(boetebedrags[ancon] * (tellertimer[ancon] / (tellertimertotaal[ancon]/100)/100));
}
}else{
De berekening van de prijs die zit er inprencipe al in
Kijk op me site http://true-crime.nl/ daar ziet u dat de bedrag wel gewoon naar beneden loopt ik moet nu alleen nog hebben dat hij dat uit de database haalt