SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Enthusiast
    Join Date
    Jun 2008
    Posts
    27
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Conflicting Timer Issue

    Hello,

    I have 2 scripts running inside my web page that call a timer and they are conflicting with each other.
    I don't know how to resolve this issue.

    ====================================
    Script inside web page (page loading script).

    <body onLoad="init()">

    <div id="loading" style="position:absolute; left:2px; top:198px;">
    <img src="loading.gif" border=0></div>

    <script>
    var ld=(document.all);
    var ns4=document.layers;
    var ns6=document.getElementById&&!document.all;
    var ie4=document.all;
    if (ns4)
    ld=document.loading;
    else if (ns6)
    ld=document.getElementById("loading").style;
    else if (ie4)
    ld=document.all.loading.style;
    function init()
    {
    if(ns4){ld.visibility="hidden";}
    else if (ns6||ie4) ld.display="none";
    }
    </script>

    ==================================

    Script that displays a clock that counts down and refreshes web page every 10 minutes.
    This script stopped working once I implemented the script outlined above.

    I call this in the head tag of the web page:
    <script src="template/countDown.js" type="text/javascript"></script>

    This is the contents of the countDown.js file
    ========================================
    var mins
    var secs;

    function cd() {
    mins = 1 * m("10"); // change minutes here
    secs = 0 + s(":01"); // change seconds here (always add an additional second to your total)
    redo();
    }

    function m(obj) {
    for(var i = 0; i < obj.length; i++) {
    if(obj.substring(i, i + 1) == ":")
    break;
    }
    return(obj.substring(0, i));
    }

    function s(obj) {
    for(var i = 0; i < obj.length; i++) {
    if(obj.substring(i, i + 1) == ":")
    break;
    }
    return(obj.substring(i + 1, obj.length));
    }

    function dis(mins,secs) {
    var disp;
    if(mins <= 9) {
    disp = " 0";
    } else {
    disp = " ";
    }
    disp += mins + ":";
    if(secs <= 9) {
    disp += "0" + secs;
    } else {
    disp += secs;
    }
    return(disp);
    }

    function redo() {
    secs--;
    if(secs == -1) {
    secs = 59;
    mins--;
    }
    document.cd.disp.value = dis(mins,secs); // setup additional displays here.
    if((mins == 0) && (secs == 0)) {
    // change timeout message as required
    // window.alert("Press OK to refresh this page.");

    // redirects to specified page once timer ends and ok button is pressed
    window.location = "somewebpage/"
    } else {
    cd = setTimeout("redo()",1000);
    }
    }

    function init() {
    cd();
    }
    window.onload = init;

    =================================

  2. #2
    SitePoint Addict
    Join Date
    Dec 2007
    Posts
    207
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You are creating and calling the init function twice.
    mmj


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •