הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

סגור את ההודעה
 
כלים לאשכול תצורת הצגה
ישן 29-09-06, 04:39   # 1
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

צריך קצת עזרה עם JS

שלום לכולם... אני צריך לעשות ב JS
פונקציה שאני מכניס לה זמן התחלה בשעון של לינוקס
לדוגמא 1159493324

והפונקציה תראה שעון (דיגטלי זה מצויין)
של הזמן שנשאר

אז בניתי את הפונקציה הבאה, שמחשבת עוד כמה זמן נשאר לשעה מסויימת

PHP קוד:
var start 1159493324// started safe
var timenow 1159505555// timeout


 
var diff = (timenow-start);
var 
days Math.floor(diff/60/60/24);
diff -= days*60*60*24;
var 
hours Math.floor(diff/60/60);
diff -= hours*60*60;
var 
mins =  Math.floor(diff/60); 
diff -= mins*60;
var 
seconds diff
//document.getElementById('clock').innerHTML =
var text days ' Days ' hours +' Hours ' mins ' Minutes '  seconds ' Seconds ';
alert(text); 
עכשיו הבעיה שלי היא להפוך את זה לשעון שסופר אחורה...אני לא יודע איך פשוט - וחיפשתי הרבה בגוול מצאתי כמה דברים אבל לא הבנתי כלום כמעט.
ואני צריך בנוסף שכשזה מגיע ל 0 0 0 0 שזה יריץ איזה טריגר לדוגמא WINDOW.LOCATION
אז כמו שאמרתי הבעיה העיקרית שלי היא עם השעון שרץ

תודה על העזרה...

נ.ב העדיפות היא לזמנים כמו שציינתי בפונקציה למעלה.
 
ישן 29-09-06, 10:00   # 2
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

אם הבנתי את השאלה שלך אז:
קודם כל זה צריך להיות פונקציה.
תעשה פונקציה שיש לה משתנה חיצוני (כלומר, שהוא לא נכנס כפרמטר כמו משתנה גלובלי בPHP) שהוא ה"זמן לינוקס" ותעשה שהפונקציה תרוץ כל שניה בעזרת setTimeout או setInterval (שקצת יותר מומלץ ונוח).
בתוך הפונקציה תעשה תנאי שאם המשתנה שווה/קטן מ 0, אז זה עושה את הlocation, אם לא, זה מציג (בעזרת החילוקים והשארית שעשית) את הזמן שנשאר, ואחרי שזה מציג, זה מחסר 1 מאותו משתנה (הגלובלי).

אם התכוונת למשהו שונה, תגיד לי ואני ינסה לעזור.
 
ישן 29-09-06, 10:18   # 3
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

כן כמובן שהוא יקבל את המשתנים מהפונקציה
הם בתוך הפונקציה רק לשם בדיקה של הזמנים (שזה אכן מחשב נכון)

אז אם הבנתי נכון הפונקציה שבניתי, לקרוא לה לדוגמא
timsince
ואת הפרמטרים לקבל דרך הפונקציה כמובן,
להוסיף לתוכה טריגר שאם הכל שווה ל 0 אז WINDOW.LOCATION בלה בלה בלה.

עכשיו לבנות פונקציה נוספת שנקראת לדוגמא

runclock

אבל מה יש בתוכה
מן הסתם את ה SETINTERVAL
אבל אם תוכל לעזור לי טיפה עם דוגמא יותר חיה שמפעילה את ה INTERVAL
כי אני לא בדיוק מכיר את ה SYNTAX שלו ולצערי אני טיפה לחוץ בזמן בשביל לעשות הרבה ניסויים

אז אם תוכל לכתוב איזה פונקציה קטנה שמפעילה את TIMEDIFF
עם ה INTERVAL אז זה יהיה פשוט נפלא

תודה רבה אחי.
 
ישן 29-09-06, 10:42   # 4
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

או קי, תסתכל מה התכונתי אבל בלי הצגת שעון את ההצגה תעשה אתה כבר כי לפי הקוד שכבר עשית זה לא ממש בעיה בשבילך....
תסתכל:
HTML קוד:
////המשתנה שמכיל את כמות הזמן שנשארה////
var time=endtime-nowtime;

////הפונקציה///
function time_down(){
	if(time<=0)
		document.location.href=location;
	else{
		////כאן תשים את הצגת הזמן עם innerhtml או משהו////
		time--;
	}
}

////עכשיו בשביל שהפונקציה תרוץ כל שניה /////
setInterval("time_down()",1000);
לא בדקתי...אבל זה אמור תהיות משהו כזה פחות או יותר.
 
ישן 29-09-06, 11:22   # 5
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

אני חשבתי יותר בסגנון של משהו כזה :

אממ
לאחר מחשבה אני בבעיה

עקרונית אני צריך להציג נגיד כמה זמן עבר מאז שלחצתי על כפתור מסויים

אז בלחיצה על הכפתור אני מכניס ל DB את TIME() דרך PHP כמובן.

עעכשיו אני מושך את הזמן הזה ועליו אני צריך לחשב.

אבל הבעיה שלי היא ש JS - הפונקציה של הזמן עובדת על הזמן של המשתמש
ככה שבעצם אני יכול להאריך את הזמן הזה ( יש LIMIT של 3 שעות) אם יחזיר את השעון שיש לי במחשב אחורה וככה בעצם אני יכול לקבל זמן נוסף

וזה לא בדיוק חכם

איך אני יכול לקבל מ JS את הזמן של השרת ?
או שלחלופין אני חייב לייבא את הזמן הזה מה PHP ?

אם יש פונקציה של JS שמקבלת זמן של השרת בפורמט של שניות זה הרבה יותר טוב
אם לא אני פשוט אצטרך לעבוד הרבה יותר קשה...ולאמת הכל מול ה PHP.


אממ עזרה ?

תודה.
 
ישן 29-09-06, 12:51   # 6
Tomer
Whatever
 
Tomer's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 7,039
שלח הודעה באמצעות MSN אל Tomer Send a message via Skype™ to Tomer

Tomer לא מחובר  

אני לא בטוח שזה אפשרי, אבל אתה יכול להכניס את ה JS לתוך PHP, למשל:

PHP קוד:
<script type="text/javascript">
var start = <?= time(); ?>
var timenow = <?= $endtime-from-db ?>;
</script>
ואז לא משנה כמה ישחקו עם השעון, ה PHP מחזיר את הזמן שקיים בשרת.
__________________
תומר
 
ישן 01-10-06, 02:18   # 7
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

ציטוט:
נכתב במקור על ידי Atom-Bomb
אני לא בטוח שזה אפשרי, אבל אתה יכול להכניס את ה JS לתוך PHP, למשל:

PHP קוד:
<script type="text/javascript">
var start = <?= time(); ?>
var timenow = <?= $endtime-from-db ?>;
</script>
ואז לא משנה כמה ישחקו עם השעון, ה PHP מחזיר את הזמן שקיים בשרת.
כן אבל זה לא בדיוק טוב......
(איך אני מכניס זה לא בדיוק משנה אין צורך בדוגמאות לשילוב של PHP תודה)
כי תחשוב על זה ככה
יש לי טופס
שאני צריך להכניס סיסמא
ומהרגע שנכנסתי לטופס יש לי 3 שעות לגלות את הסיסמא
ו 10 נסיונות
ואני צריך להציג כמה זמן נשאר
ואז כעושים POST וזה בודק את הטופס והטופס לא נכון אז באיזה שהוא מקום
הזמן משתנה (נראה לי לפחות)
ואז זה בעייתי כי אתה צריך למשוך את כל הנתונים מחדש.......
אני צריך רעיון....
 
ישן 01-10-06, 02:49   # 8
mlnn
משתמש - היכל התהילה
 
mlnn's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: בחדר של חני
גיל: 35
הודעות: 4,417

mlnn לא מחובר  

לא הכי הבנתי מה אתה רוצה |מסמיק|
אבל אולי זה יעזור לך:
http://www.wallashops.co.il/shopmind...FinishList.asp
[תבחר שם משהו], ויש שם שעון, שכשהוא מגיע ל0 משהו קורה...
__________________
.

בחורות ערומות
 
ישן 02-10-06, 17:19   # 9
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

ניסיתי לעשות כזה דבר :

PHP קוד:
<script LANGUAGE="JavaScript">
function check()
{
var start = 1159495554; // started safe - this is getting bigger;
//var timenow = 1159505555; // timeout
var timenow = <?php  echo time(); ?>;

 


 
var diff = (timenow-start);
var days = Math.floor(diff/60/60/24);
diff -= days*60*60*24;
var hours = Math.floor(diff/60/60);
diff -= hours*60*60;
var mins =  Math.floor(diff/60); 
diff -= mins*60;
var seconds = diff
//document.getElementById('clock').innerHTML =
var text = days + ' Days ' + hours +' Hours ' + mins + ' Minutes '  + seconds + ' Seconds ';
document.getElementById('clock').innerHTML = text;

 
}

function init()
{
    setInterval("check()",1000);
    
}
 </script>
שזאת השיטה ש ATOM_BOMB הציע
PHP קוד:
var timenow = <?php  echo time(); ?>;
הבעיה :

הוא מקבל את ה TIME באופן קבוע כלומר ברגע שהסקריפט סיים לרוץ הזמן נשאר כמו זמן הריצה
של הסקריפט

עלה לי רעיון, לעשות שילוב קטן של AJAX בשביל לקבל את הזמן של ה PHP
כלומר ליצור סקריפט חדש
PHP קוד:
<?php
echo time();
?>
ולקרוא לו clock.php
עכשיו לקבל את הערך שלו דרך AJAX ושבאופן קבוע ה AJAX ירענן את הדף ויקבל את הזמן של הלינוקס שבשרת וככה פתרתי את הבעיה.

השאלה שלי היא
איך אני מושך בעזרת AJAX את הנתונים מהדף ?
מפה זה אמור להיות פשוט , אבל אני לא כל כך מבין ב AJAX...
אז הסבר יהיה טוב.

עריכה :
---------
כמו שאמרתי, עשיתי את הדף של ההצגה של הזמן
ועכשיו עשיתי ככה :
PHP קוד:
function xmlhttpPost(strURL) {
    var 
oXmlHttp false;
    var 
self this;
        if (
window.oXmlHttpuest) {
            
self.oXmlHttp = new XMLHttpRequest();
        } else if (
window.ActiveXObject) {
            
self.oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    
self.oXmlHttp.open('GET'strURLtrue);
    
self.oXmlHttp.setRequestHeader('Content-Type''application/x-www-form-urlencoded');
        
self.oXmlHttp.onreadystatechange = function() {
            if (
self.oXmlHttp.readyState == 4) {
               
alert(self.oXmlHttp.responseText);
            }
           }
    
    
self.oXmlHttp.send();

כאילו תעשה ALERT כל פעם שאתה מקבל תשובה מהדף
והרצתי אותו עם INTERVAL עם 1000 אבל הוא תמיד מקפיץ חלון
אם אותו מספר בדיוק כאילו הוא לא קורא את הזמן, כאילו הוא קרא אותו פעם ראשונה וזהו
מה הבעיה ?
אשמח לכיוון...

עריכה 2 :
========
אמרתי טוב,בואו נפשט את זה עוד יותר
עשיתי ככה :
PHP קוד:
function xmlhttpPost(strURL) {
    var 
oXmlHttp false;
    var 
self this;
        if (
window.oXmlHttpuest) {
            
self.oXmlHttp = new XMLHttpRequest();
        } else if (
window.ActiveXObject) {
            
self.oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    
self.oXmlHttp.open('GET'strURLtrue);
    
self.oXmlHttp.setRequestHeader('Content-Type''application/x-www-form-urlencoded');
        
self.oXmlHttp.onreadystatechange = function() {
            if (
self.oXmlHttp.readyState == 4) {
               
alert(self.oXmlHttp.responseText);
            }
           }
    
    
self.oXmlHttp.send();

ועשיתי בתוך ה BODY ככה :
PHP קוד:
<a href="#" onclick="javascript:xmlhttpPost('time.php');">click here</a
כלומר בלחיצה על CLICK HERE הוא יטען בעזרת ה AJAX את העמוד של ה TIME.PHP
ואז יבוא אלרט שיגיד לי את הזמן
הוא כל הזמן אומר את אותו הדבר, כלומר הוא לא מתרענן גם דרך ה AJAX...

ונוסף זה לא עובד ב FF
רעיונות ?

Last edited by RS324; 02-10-06 at 18:10..
 
ישן 02-10-06, 21:17   # 10
Elad-A
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 1,987

Elad-A לא מחובר  

לא קראתי את כל הנושא אבל אם אתה צריך זמן ב JS פשוט תעשה ככה:

PHP קוד:

<a href="#" onClick="
var the_date = new Date();
var the_hour = the_date.getHours();
var the_minute = the_date.getMinutes();
var the_second = the_date.getSeconds();
var the_time = the_hour + ':' + the_minute + ':' + the_second;
alert('The time is now: ' + the_time);"
>time!</a
 
סגור את ההודעה

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 10:37.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ