09-08-2005, 15:22
|
|
|
חבר מתאריך: 07.07.05
הודעות: 76
|
|
תנסה להוסיף setInterval()
בתגובה להודעה מספר 1 שנכתבה על ידי yahelb שמתחילה ב "בניתי שעון ב-JS ואני לא יודע איך לגרום לו להתעדכן כל שניה"
תעתיק את הקוד הבא (זה שעון יותר טוב, שבו יש גם את התאריך-לדוגמא ה-9 לאוגוסט רק באנגלית, אני חייב לציין שהקוד הבא לא אני יצרתי אלה מישהו אחר הביא לי ואני רק למדתי ממנו):
<html><head><title>clock</title>
<script type="text\javascript">
function clock()
{
var today = new Date();
var times = new Date();
var months = new Array();
var date = today.getDate();
var month = today.getMonth();
var hour = times.getHours();
var minute = times.getMinutes();
var second = times.getSeconds();
if(hour > 12)
hour = hour -12;
if(hour==0)
hour = 12;
if(minute<=9)
minute = "0" + second;
if(second<=9)
second = "0" + second;
months[0] = " January ";
months[1] = " February ";
months[2] = " March ";
months[3] = " April ";
months[4] = " May ";
months[5] = " June ";
months[6] = " July ";
months[7] = " August ";
months[8] = " September ";
months[9] = " October ";
months[10] = " November ";
months[11] = " December ";
show_time = hour + ":" + minute + ":" + second + " <br> ";
show_date = date + months[month];
document.getElementById("clock").innerHTML = show_time;
document.getElementById("date").innerHTML = show_date;
}
function show_times()
{
setInterval("clock()",1000);
}
</script>
</head>
<body onload="show_times()">
<table algin="left" style="border:solid black 1 pt;">
<tr><td>
<span name="clock" id="clock" style="font:aharoni;font-size:18 pt;"></span>
<tr><td>
<span name="date" id="date" style="font:aharoni;font-size:18 pt;"></span>
</td></tr>
</table>
</body>
</html>
לאחר שתתבונן בקוד תשים לב שלאחר שעשיתי פונקציה שיוצרת את השעון עשיתי גם פונקציה
המראה אז זה ומעדכנת את השעון כל שניה (כלומר מפעילה אותו).
אם לפונקציה של השעון קוראים function clock() אז לאחר שתיצור אותה תכין פונקציה חדשה
שלדוגמא קוראים לה: function show_clock() (כמובן שתוכל לקרוא לה אחרת),
ובפונקציה הזאת תעשה את הקוד setInterval("clock()",1000)
מה שאומר שהשעון (שלו קראתה בהתחלה clock() ירוץ כל שניה).
ולבסוף מה שאתה צריך לעשות הוא שבתג הבודי תוסיף onload="show_clock()"> (או לפי הקוד שאני נתתי לך show_times().
מקווה שעזרתי לך,אם לא הבנתה משהו תוכל לשאול בפרטי למקרה שלא אענה לך בפורום.
מדוד
|