-
შეიძლება ახლა იმაზე დავობთ თუ რა ჯობს,
-
SetInterval-ის გამოყენება
თუ requestAnimationFrame-სი,
-
მაგრამ მე კიდევ ერთ
ვარიანტს შემოგთავაზებთ.
-
Chrome-ში, Firefox-სა და IE10+-ში,
-
არსებობს CSS-ით ანიმაციის შექმნის გზა,
-
რისთვისაც ჯავასკრიპტი
საერთოდ არ არის საჭირო.
-
რაც დავწერეთ გავაკომენტაროთ
და ვცადოთ Oh noes ანიმაციაზე.
-
-- მოვაქციოთ მრავალხაზიან კომენტარში --
-
დავიწყოთ გვერდისთვის
სტილის ტიპის დამატებით.
-
შემდეგ კი დავუმატოთ
CSS-ის წესის მსგავსი ხაზი,
-
რომელიც რეალურად ჩვენი
ანიმაციის განმარტება იქნება.
-
დავწეროთ keyframes, შემდეგ კი
სახელი ჩვენი ანიმაციისთვის - getbigger,
-
ბოლოს კი ფიგურული ფრჩხილები.
-
უბრალო ანიმაციის გასაკეთებლად, რომელიც
ერთი მდგომარეობიდან მეორეში გადადის,
-
განვსაზღვროთ -დან და -მდე, ანუ from და to.
-
from-ში დავწეროთ CSS-ის საწყისი პირობა.
-
თუ გაიხსენებთ, დასაწყისში ეს 50px იყო.
-
to-ში დავწეროთ საბოლოო პირობა.
-
მაგალითად, იყოს 300px.
-
რადგან ანიმაცია განვმარტეთ,
ახლა ბრაუზერს უნდა ვუთხრათ,
-
თუ რა ელემენტმა
უნდა გამოიყენოს ეს ანიმაცია.
-
დავამატოთ ნორმალური
CSS წესი Oh noes-სთვის,
-
შიგნით მივუთითოთ
ანიმაციის სახელი, getbigger,
-
შემდეგ კი ანიმაციის
ხანგრძლივობა, სამი წამი.
-
იმის მიხედვით თუ რა ბრაუზერი გაქვთ,
-
ზოგიერთი ალბათ ფიქრობთ
რომ მაგარია და ყველაფერი მუშაობს,
-
სხვებისთვის კი, Safari,
Chrome, ალბათ ეს არ მუშაობს.
-
ეს არის რაღაცის, სახელად
Vendor Prefix-ების დამსახურება.
-
ზოგჯერ ბრაუზერი წყვეტს რაიმე
ახალ თვისებას დაუჭიროს მხარი,
-
მაგრამ ამ თვისებაზე
Vendor Prefix-ს განათავსებს,
-
იმის ნიშნად, რომ შესაძლოა
ეს მომავალში შეიცვალოს.
-
ეს მხოლოდ ბრაუზერების
კავშირია თვისებასთან.
-
თუ ეს Chrome-ში გვინდა
გავუშვათ და ჯერ არ მუშაობს,
-
საჭიროა ყველაფრის კოპირება რაც გავაკეთეთ
-
და წინ webkit-ის დაწერა.
-
ესეიგი, ვაკოპირებთ ამ ნაწილს,
-
აქ ვწერთ: -webkit-
-
აქ კი ვაკოპირებთ ამას და
აქაც, ვწერთ -webkit-, -webkit-
-
ძალიან კარგი, ახლა გამოსახულება
იზრდება, ნებისმიერი ბრაუზერისთვის.
-
იმედია იმ დროსითვის როცა ამას უყურებთ,
-
Vendor Prefix-ები აღარ იქნება საჭირო,
-
მაგრამ კარგია მათი არსებობის ცოდნა,
-
შესაძლოა ოდესმე
მათი თვისებები გამოგვადგეს.
-
CSS-ში კიდევ ერთი გზა
არსებობს ანიმაციის გასაკეთებლად.
-
ეს არის გადატანის თვისება.
-
ეს ბრაუზერს მიუთითებს თუ
როგორ გადავიდეს ერთი თვისებიდან მეორეზე.
-
ვთქვათ, გვინდა დარჩენილი დროის ფონტის ზომა
გაიზარდოს როცა მაუსს მასზე გადავატარებთ.
-
შეგვიძლია ეს ჯავასკრიპტში გავაკეთოთ
მაუსთან დაკავშირებული eventListener-ით,
-
შემდეგ კი requestAnimationFrame-ს
გამოყენებით გავზარდოთ ფონტის ზომა,
-
მაგრამ ამის გაკეთება
მთლიანად CSS-შიც შეგვიძლია.
-
ვნახოთ, როგორ შევვლიდით CSS-ში ფონტს ისე,
რომ მაუსის გატარებისას იგი გაზრდილიყო?
-
შეგვიძლია გამოვიყენოთ hover,
-
ვწერთ: #countdown:hover,
-
შემდეგ კი font-size: 150px;
-
ახლა ისღა დაგვრჩენია ბრაუზერს მივუთითოთ,
-
რომ ფონტის ზომის თვისება ცვალოს.
-
რამდენ ხანში გააკეთოს ეს და
დროის ათვლის რა ფუნქცია გამოვიყენოთ?
-
ვამბობთ: transition: font-size 1s linear;
-
დააპაუზეთ გაკვეთილი და
გადაატარეთ მაუსი ტექსტს, ნახეთ რა მოხდება.
-
თუ Chrome-ში, Firefox-ში ან IE10+-ში ხართ,
-
მაშინ გამოსახულება გაიზრდება.
-
ამ ტექნიკისთვის
Vendor Prefix-ებიც არ გვჭირდება.
-
CSS-ის ანიმაციებითა და transition-ებით
მრავალი რამის გაკეთება შეიძლება,
-
ბრაუზერები კი მათ
სწრფად აღიქვამს და ახორციელებს,
-
ამიტომ გირჩევთ ორივე
უფრო დეტალურად გამოიკვლიოთ.