Register

If this is your first visit, please click the Sign Up now button to begin the process of creating your account so you can begin posting on our forums! The Sign Up process will only take up about a minute of two of your time.

Results 1 to 1 of 1
  1. #1
    Junior Member
    Join Date
    Dec 2015
    Posts
    4
    Member #
    52758

    jquery and javascript countdown

    /*
    * jQuery The Final Countdown plugin v1.0.0 beta
    * http://github.com/hilios/jquery.countdown
    *
    * Copyright (c) 2011 Edson Hilios
    *
    * Permission is hereby granted, free of charge, to any person obtaining
    * a copy of this software and associated documentation files (the
    * "Software"), to deal in the Software without restriction, including
    * without limitation the rights to use, copy, modify, merge, publish,
    * distribute, sublicense, and/or sell copies of the Software, and to
    * permit persons to whom the Software is furnished to do so, subject to
    * the following conditions:
    *
    * The above copyright notice and this permission notice shall be
    * included in all copies or substantial portions of the Software.
    *
    * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    */
    (function($) {

    $.fn.countdown = function(toDate, callback) {
    var handlers = ['seconds', 'minutes', 'hours', 'days', 'weeks', 'daysLeft'];

    function delegate(scope, method) {
    return function() { return method.call(scope) }
    }

    return this.each(function() {
    // Convert
    if(!(toDate instanceof Date)) {
    if(String(toDate).match(/^[0-9]*$/)) {
    toDate = new Date(toDate);
    } else if( toDate.match(/([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{2,4})\s([0-9]{1,2})\[0-9]{2})\[0-9]{2})/) ||
    toDate.match(/([0-9]{2,4})\/([0-9]{1,2})\/([0-9]{1,2})\s([0-9]{1,2})\[0-9]{2})\[0-9]{2})/)
    ) {
    toDate = new Date(toDate);
    } else if(toDate.match(/([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{2,4})/) ||
    toDate.match(/([0-9]{2,4})\/([0-9]{1,2})\/([0-9]{1,2})/)
    ) {
    toDate = new Date(toDate)
    } else {
    throw new Error("Doesn't seen to be a valid date object or string")
    }
    }

    var $this = $(this),
    values = {},
    lasting = {},
    interval = $this.data('countdownInterval'),
    currentDate = new Date(),
    secondsLeft = Math.floor((toDate.valueOf() - currentDate.valueOf()) / 1000);

    function triggerEvents() {
    // Evaluate if this node is included in the html
    if($this.closest('html').length === 0) {
    stop(); // Release the memory
    dispatchEvent('removed');
    return;
    }
    // Calculate the time offset
    secondsLeft--;
    if(secondsLeft < 0) {
    secondsLeft = 2592000;
    }
    lasting = {
    seconds : secondsLeft % 60,
    minutes : Math.floor(secondsLeft / 60) %60,
    hours : Math.floor(secondsLeft / 60 / 60) % 24,
    days : Math.floor(secondsLeft / 60 / 60 / 24),
    weeks : Math.floor(secondsLeft / 60 / 60 / 24 / 7),
    daysLeft: Math.floor(secondsLeft / 60 / 60 / 24) % 7
    }
    for(var i=0; i<handlers.length; i++) {
    var eventName = handlers[i];
    if(values[eventName] != lasting[eventName]) {
    values[eventName] = lasting[eventName];
    dispatchEvent(eventName);
    }
    }
    if(secondsLeft == 0) {
    stop();
    dispatchEvent('finished');
    }
    }
    triggerEvents();

    function dispatchEvent(eventName) {
    var event = $.Event(eventName);
    event.date = new Date(new Date().valueOf() + secondsLeft);
    event.value = values[eventName] || "0";
    event.toDate = toDate;
    event.lasting = lasting;
    switch(eventName) {
    case "seconds":
    case "minutes":
    case "hours":
    event.value = event.value < 10 ? '0'+event.value.toString() : event.value.toString();
    break;
    default:
    if(event.value) {
    event.value = event.value.toString();
    }
    break;
    }
    callback.call($this, event);
    }

    function stop() {
    clearInterval(interval);
    }

    function start() {
    $this.data('countdownInterval', setInterval(delegate($this, triggerEvents), 1000));
    interval = $this.data('countdownInterval');
    }

    if(interval) stop();
    start();
    });
    }
    })(jQuery);


    Hello everyone

    i posted codes of countdown using jquery and javascript above, please i need your help when i run this code it is running and counting down but when refresh or restart browser, it start counting from the beginning. please help me that the countdown to continue up until a specific seconds i indicated.

    Regards

  2.  


Remove Ads

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT -6. The time now is 04:41 PM.
Powered by vBulletin® Version 4.2.3
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.
vBulletin Skin By: PurevB.com