ערכתי לאחרונה בתאריך 14.07.13 בשעה 21:16 בברכה, dvir8
function suns(scrol) { if (scrol + $(window).height() == $(document).height()) { if ($(".sun").not(":visible")) { $('.sun').show().animate({ 'bottom': 390, 'opacity': 1 }, 600); } } else { if ($(".sun").is(":visible")) { $('.sun').animate({ 'bottom': 0, 'opacity': 0 }, { duration: 600, queue: false }, function () { $(this).hide(); }); } } }
|
מה שקרה, שכל הזזה של הסקרולר אנימציה הופעלה. בברירת המחדל jquery מכניס אנימציות לתור. כלומר היו לך המון אנימציות של הסתרה לפני של ההופעה.
לכן שהוא סיים את כל אוסף ה durations השונים שזה 600*50 גלילות בערך הוא רק התחיל להפעיל את האנימציה של ההצגה.
אז מה שעשיתי בעצם הוצאתי את ההסרה של השמש מהתור, כלומר שאם אתה זז שיסיר ישר את השמש בלי לחכות. בנוסף, הוספתי הסתרה והופעה כדי שאוכל לבדוק אם השמש בכלל מופיעה כי אין מה להפעיל אנימציה על אלמנא שלא מופיע בכלל. זה גם בזבוז משאבים.