הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [JS] אפקט הFADE...בעזרת OPACITY...הכיצד? (https://hosts.co.il/forums/showthread.php?t=41883)

ShoQER 20-03-07 16:12

[JS] אפקט הFADE...בעזרת OPACITY...הכיצד?
 
היי.

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

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

בטח עכשיו היה בא לכם להגיד...אז למה לא העתקתה וזהו?
א' כל...בא לי ללמוד..אני לא חבר טוב של הJS...אז אני רוצה קצת להיתחבר.
ב' כל...נו באמת....משהו פעם הצליח להבין משהו בקוד מקור שלהם?!?

OPACITY אני יודע כיצד לשנות...מה שאני לא יודע איך אני משנה אותו בהדרגה :(

חשבתי על לולאת FOR....אבל מן הסתם זה לא הצליח...

יש משהו אחר?

BlueNosE 20-03-07 16:53

רקורסיה מותק.

אני עשיתי בBLUE HILL מין חלון "ברוכים הבאים" מרחף, שנעלם אחרי 30 שניות בFADE ולא מיד, ע"י פעולות חשבוניות פשוטות ושימוש בmoz opacity, opacity ו-filter opacity.

ShoQER 20-03-07 22:40

כלומר כפי שהבנתי צריך להישתמש פה בתזמון...שנגיד אחרי חצי שניה שירד הOPACITY ב 1 נגיד...
אני יודע איך לשנות OPACITY...הבעיה פה היא התזמון עצמו...שבכל חצי שניה זה ישתנה...

אז השאלה שלי היא כיצד יוצרים תזמון?

RS324 20-03-07 22:53

setinterval

ShoQER 20-03-07 23:50

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

מה שאני חשבתי לעשות זה:
HTML קוד:

<script type="text/javascript">
var compte = 100;
function setopacity() {
 compte = compte - 5;
 document.getElementById("gmess").style.opacity=compte;
 if (compte == 0){
  clearInterval(setopacity);
 }
}
setInterval(setopacity, 100);
</script>
<div style="background: #000" id="gmess">sdsd</div>

התוצאה היא:
אחרי כמשהו שניות זה נעלם במכה :(

BlueNosE 21-03-07 08:11

הבעיה שלך היא שאתה לא קורה לפונקצייה שוב מהפונקצייה.. שים עוד setInterval בelse אחרי ה"if compete = 0"

ד"א
אני אישית משתמש בsetTimeout ובclearTimeout.

ShoQER 21-03-07 14:20

זה יוצר לי רקורסיה אין סופית...
וזה נעלם במכה.

HTML קוד:

<script type="text/javascript">
var compte = 100;
function setopacity() {
 compte = compte - 5;
 document.getElementById("gmess").style.opacity=compte;
 if (compte == 0) {
  clearInterval(setopacity);
 } else {
  setInterval(setopacity, 1000);
 }
}
setInterval(setopacity, 1000);
</script>
<div style="background: #ff0000" id="gmess">sdsd</div>


BlueNosE 21-03-07 15:35

כי אתה לא מגדיר טוב את הclearInterval...
HTML קוד:

var int1 = setInterval(setopacity, 1000);
//////////////////
clearInterval(int1);


ShoQER 21-03-07 15:55

ניסיתי עם משתנה...לא עוזר...
HTML קוד:

<script type="text/javascript">
var compte = 100;
var interv = setInterval(setopacity, 100);
function setopacity() {
 compte = compte - 1;
 document.getElementById("gmess").style.opacity=compte;
 if (compte == 0) {
  clearInterval(interv);
 } else {
  var interv = setInterval(setopacity, 100);
 }
}
</script>
<div style="background: #ff0000" id="gmess">sdsd</div>


BlueNosE 21-03-07 16:49

נסה לשנות את == 0 ל>= 0


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

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