Countdown timer built on PHP and jQuery?

前端 未结 6 806
孤街浪徒
孤街浪徒 2020-12-06 20:37

After spending the last 45 minutes looking around for a solution, I can\'t seem to find an easy solution to creating a countdown timer using PHP and jQuery. Most already bui

6条回答
  •  佛祖请我去吃肉
    2020-12-06 20:53

    OK, I know that an id is not a variable, but don't use this as an ID. It is makes people cringe.

    To the rest, don't reload the value, set a value in JS in PHP and then count down.

    // place this in the  above the code below
    echo "var t = " . time() . ";";
    echo "var ft = " . /* your final time here */ . ";";
    

    Then:

    // this is a helper function.
    function lpad( input, len, padstr )
    {
        if( !padstr ) padstr = " "; // this is the normal default for pad.
        var ret = String( input );
        var dlen = ret.length - len;
        if( dlen > 0 ) return ret;
        for( var i = 0; i < dlen; i++ ) ret = padstr + ret;
        return ret;
    }
    
    $(document).ready(function name() {
        $("#timer").load( function() {  // I changed the id
            $timer = $("timer"); // might as well cache it.
            // interval, not timeout. interval repeats
            var intval = setInterval(function(){
                 t += 500; // decrease the difference in time
                 if( t >= ft )
                 {    
                     t = ft; // prevent negative time.
                     clearInterval( intval ) // cleanup when done.
                 }
                 var dt = new Date(ft - t); 
                 $timer.innerHTML = dt.getHours() + ":" + 
                                    // pad to make sure it is always 2 digits
                                    lpad( dt.getMinutes(), 2, '0' ) + ":" + 
                                    lpad( dt.getSeconds(), 2, '0' );
            }, 500) // increments of .5 seconds are more accurate
          }
        }
    });
    

提交回复
热议问题