java script zamanlayıcı sorunu

5 Cevap php

i timer.php aşağıdaki kodu var. I dosya timer.php çalıştırırsanız aşağıdaki gibi ben doğru çıktı almak

time left : 02 min 30 sec

and this keeps on decreasing. But if include the file timper.php in other files using <? require 'timer.php' ?> only time left : is shown and actual timer countdown is not shown (in Fire fox). But if i run same thing in ie it is shown correclty.

sorun ne? Benim timer.php akan kodu vardır.

<script >
    var sec = 00;   // set the seconds
    var min = 02  // set the minutes

    function countDown() {
        sec--;
        if (sec == -01) {
            sec = 59;
            min = min - 1;
        } else {
            min = min;
        }
        if (sec<=9) { sec = "0" + sec; }
        time = (min<=9 ? "0" + min : min) + " min and " + sec + " sec ";
        if (document.getElementById) { theTime.innerHTML = time; }
        SD=window.setTimeout("countDown();", 1000);
        if (min == '00' && sec == '00') { sec = "00"; window.clearTimeout(SD);   }
    }

    function addLoadEvent(func) {
        var oldonload = window.onload;
        if (typeof window.onload != 'function') {
            window.onload = func;
        } else {
            window.onload = function() {
                if (oldonload) {
                    oldonload();
                }
                func();
            }
        }
    }

    addLoadEvent(function() {
        countDown();
    });

</script>

time left :
<span id="theTime" ></span>

Herkes bana benim projede pase kopyalayabilirsiniz (dakika) javascript geri sayım sayacı için bir kod giv miyim?

5 Cevap

Sadece bir yazım hatası ya da "kısaltma" değil bu durumda: Bu dosya adı tırnak koymak zorunda.

<?php require 'timer.php' ?>

Aksi php constants timer ve php arar ve onları bulmak değil zaman iki ayrı dizeleri olarak yorumlamak ve çünkü {[bunları birleştirmek (3)]}, (eksik sabitler hakkında) iki uyarılar sonuçlanan ve require 'timerphp' (zamanlayıcı ve php arasında nokta olmadan)

Bu kod JS sizin için çalışıyorsa, window.onload ile ilgili bir sorun var.

<script >

 var countDown = function(idEl) {
  this.sec = 00;   // set the seconds
  this.min = 02;   // set the minutes
  this.el = idEl;  // set the minutes
  this.SD = null;

  this.timer = function(pthis) {
   pthis.sec--;
   if (pthis.sec == -01) {
    pthis.sec = 59;
    pthis.min = pthis.min - 1;
   } else {
    pthis.min = pthis.min; //??
   }
   if (pthis.sec<=9) { pthis.sec = "0" + pthis.sec; }
   var time = (pthis.min<=9 ? "0" + pthis.min : pthis.min) + " min and " + pthis.sec + " sec ";
   if (document.getElementById) { document.getElementById(pthis.el).innerHTML = time; }
   pthis.SD=window.setTimeout(function(){pthis.timer.apply(pthis, [pthis])}, 1000);
   if (pthis.min == '00' && pthis.sec == '00') { pthis.sec = "00"; window.clearTimeout(pthis.SD); }
  };

  this.timer(this);
 }

</script>

time left : <span id="theTime" ></span>
<script>countDown("theTime")</script>

İşte JS geri sayım sayacı (Bilginize, Firefox'ta sürümünü test edilmiş ve bu benim için iyi çalıştı) benim sürümü bulunuyor.

<html>
    <head>
    	<title>Timer</title>
    	<script type="text/javascript">
    		var Timer = {
    			// Main method for counting down
    			countDown: function (displayID, min, sec, callback) {
    				// Update timer display
    				document.getElementById(displayID).innerHTML = (min < 10 ? "0" : "") + min + ":" + (sec < 10 ? "0" : "") + sec;

    				// If there is time left on the timer, continue counting down
    				if (sec > 0 || min > 0) {
    					setTimeout(function () { Timer._countDownCallback(displayID, min, sec, callback); }, 1000);
    				}
    				// When time has run out invoke option callback function
    				else if (typeof callback == "function") {
    					callback();
    				}
    			},

    			// Internal method for processing remaining time
    			_countDownCallback: function (displayID, min, sec, callback) {
    				// Update time left for the timer
    				sec = (sec > 0 ? sec - 1 : 59);
    				if (sec == 59) min = (min > 0 ? min - 1 : 59);

    				// Call main method to update display, etc.
    				Timer.countDown(displayID, min, sec, callback);
    			}
    		};

    		// Start the timer when the page loads
    		window.onload = function () {
    			Timer.countDown("timerDisplay", 2, 30, function () { alert("The time has come!"); });
    		}
    	</script>
    </head>
    <body>
    	<div>Time left: <span id="timerDisplay"></span></div>
    </body>
</html>

Bu JavaScript Timer class kullanabilirsiniz.

Büyük olasılıkla javascript timer.php başka bir dosya nedeniyle bazı HTML etiketi uyumsuzluğu kırmak için HTML neden dosyanın dahil çünkü düzgün çalışmıyor. Ya da belki bunun için javascript sonları dış HTML sayfası başka bir hata var. Ben gerçekten gibi değil ve birçok sorunları var gerçi - - size gösterilen Javascript kodu olarak anlatmak için zor daha fazla ayrıntı vermeden istediğiniz gibi çalışması gerekir.