0

誰かが 3 分待つ必要があると投票したときにタイマーを追加するこの jQuery スクリプトを使用しています。

phpで残り時間を取得する瞬間まで、スクリプトは機能しています

$(document).ready(function(){
alert("1");
 function Timer(dur, par, can, cnt) {
var parent = $(par),
    canvas = can ? $(can, parent)[0] : $('.timer', parent)[0],
    seconds = cnt ? $(cnt, parent)[0] : $('.counter', parent)[0],
    sec = dur,
    countdown = sec;    

if (!canvas)
    canvas = $("<canvas>").addClass('timer')
        .attr('width', 100).attr('height', 100).appendTo(parent)[0];

if (!seconds)
    seconds = $("<span>").addClass('counter').appendTo(parent)[0];

var ctx = canvas.getContext('2d');
ctx.lineWidth = 8;
ctx.strokeStyle = "#528f20";

var startAngle = 0,
    time = 0,
    intv = setInterval(function() {
        var endAngle = (Math.PI * time * 2 / sec);
        ctx.arc(65, 35, 30, startAngle, endAngle, false);
        ctx.clearRect(0, 0, 200, 200);

        startAngle = endAngle;
        ctx.stroke();

        countdown--;
        if (countdown > 60) {
            seconds.innerHTML = Math.floor(countdown / 60);
            var ss = countdown % 60;
            if (ss < 10) 
                ss = "0" + ss;
            seconds.innerHTML += ":" + ss;
        }
        else {
            seconds.innerHTML = countdown;
        }

        if (++time > sec, countdown == 0) {
            clearInterval(intv);
            $(canvas).remove();
            $(seconds).remove();
            /*$(par).prepend('<img id="theImg" src="http://ivojonkers.com/votify/upvote.png" />');*/
        }
    }, 1000);}



$(".upvote").click(function(){
    alert("2");
    var par = $("<div>").addClass("time").appendTo("#timers");
    Timer(Math.round(180), par);
});
if (<?php echo $wait; ?> > 0) {
var par = $("<div>").addClass("time").appendTo("#timers");
Timer(Math.round(<?php echo $wait; ?>, par); } });

したがって、この部分では、php で次の投票を待つ時間が得られますが、これはうまくいかないようです。何が問題なのですか?

if (<?php echo $wait; ?> > 0) {
var par = $("<div>").addClass("time").appendTo("#timers");
Timer(Math.round(<?php echo $wait; ?>, par); } });
4

2 に答える 2

0

setTimeout(function(){},(3 * 60 * 1000))投票機能をブロックするには、 a を使用するだけです。

//Block the vote here
setTimeout(function(){/*unblock here*/},(3 * 60 * 1000))
于 2012-11-03T16:49:10.210 に答える
0

これを置き換えます:

Timer(Math.round(<?php echo $wait; ?>, par); } });

と:

Timer(Math.round(<?php echo $wait; ?>, par)); } });

;)

于 2012-11-03T16:51:52.910 に答える