< Return to Video

უკუსვლის შექმნა (ვიდეო-ვერსია)

  • 0:01 - 0:04
    მაქვს ვებგვერდი, "ოჰ არას" სურათით,
  • 0:04 - 0:08
    რომელიც გაგიჟებულია, რომ
    სამყაროს დასასრული მალე დადგება --
  • 0:08 - 0:10
    კონკრეტულად, 500 წამში.
  • 0:10 - 0:13
    მინდა ეს ვებგვერდი
    უფრო სასარგებლო გავხადო,
  • 0:13 - 0:17
    ეს რიცხვი
    გადავაქციო რეალურ უკუთვლად,
  • 0:17 - 0:21
    ისე რომ, ვიზიტორებმა
    შეძლონ ნახვა, რამდენი დრო დარჩათ.
  • 0:21 - 0:24
    ახლა, როცა გავაცოცხლეთ ვებგვერდი,
  • 0:24 - 0:27
    სტრატეგია შემდეგია: უნდა ვიპოვოთ
    რაღაც ელემენტი მასში,
  • 0:27 - 0:29
    შემდეგ რაღაც შევცვალოთ
    ამ ელემენტში
  • 0:29 - 0:33
    და ეს რამდენჯერმე გავიმეოროთ.
  • 0:33 - 0:38
    პირველ რიგში უნდა ვიპოვო მთვლელი
    მისი ID-თი
  • 0:38 - 0:39
    ეს მარტივია.
  • 0:39 - 0:44
    [ბეჭდავს]
  • 0:48 - 0:52
    შემდეგ, უნდა დავწერო ფუნქცია, რომელიც
    უკუსვლით დაითვლის.
  • 0:52 - 0:55
    [ბეჭდავს]
  • 0:55 - 0:57
    შემდეგ კი --
  • 0:57 - 1:01
    მინდა რომ 'textContent' იყოს
  • 1:01 - 1:04
    წინა რიცხვს მინუს ერთის ტოლი.
  • 1:04 - 1:07
    'textContent' რეალურად იქნება ხაზი,
  • 1:07 - 1:10
    რომელიც გვინდა გადავქციოთ რიცხვად
  • 1:10 - 1:13
    ამის გაკეთება 'parcfloat()' -ით შეგვიძლია.
  • 1:13 - 1:16
    შემდეგ კი შეგვიძლია გამოვაკლოთ ამას 1.
  • 1:16 - 1:22
    დაბოლოს, ჩვენ ამ ფუნქციის გამოძახება
    გარკვეული ინტერვალით გვინდა,
  • 1:22 - 1:25
    ანუ, წამში X-ჯერ.
  • 1:25 - 1:30
    ამის გაკეთებაში გამოგვადგება
    'window.setInterval()'
  • 1:30 - 1:34
    ეს ფუნქცია მოითხოვს ორ არგუმენტს:
  • 1:34 - 1:38
    გამოძახების ფუნქციას და მილიწამების
    რაოდენობას, რომლის გასვლისასაც
  • 1:38 - 1:41
    ეს ფუნქცია ისევ უნდა გამოვიძახოთ.
  • 1:41 - 1:43
    გამოძახების ფუნქციის განსაზღვრა შეგვიძლია
    ისევე,
  • 1:43 - 1:47
    როგორც ის ღონისძიების დამსწრეთათვის
    განვსაზღვრეთ: სახელით
  • 1:47 - 1:49
    შემდეგ კი - ახლა ის ძალიან სწრაფია,
  • 1:49 - 1:52
    იმიტომ რომ
    წამების არგუმენტი არ განგვისაზღვრავს--
  • 1:52 - 1:55
    გვინდა, რომ ეს მილიწამების გარკვეული
    რაოდენობის გასვლისას მეორდებოდეს;
  • 1:55 - 1:59
    კერძოდ, ერთხელ წამში რომ მეორდებოდეს.
    ანუ, ყოველ ათას მილიწამში
  • 1:59 - 2:02
    იმიტომ რომ წამში ათასი მილიწამია.
  • 2:02 - 2:05
    მშვენირია, ახლა ყოველ წამში
    თითო რიცხვით გადადის უკან.
  • 2:05 - 2:10
    490 წამი დაგრჩა, რომ მაქსიმალურად ბევრი
    რამ ისწავლო!
  • 2:10 - 2:15
    კიდევ ერთი ფუნქცია, რომელსაც ხანდახან
    'setInterval'-ის მაგივრად ვიყენებთ
  • 2:15 - 2:17
    არის 'setTimeout'
  • 2:17 - 2:22
    ახლა შევცვლი და დააკვირდით,
    თუ შეამჩნევთ სხვაობას
  • 2:22 - 2:24
    ერთი წამიც მოიცადეთ..
  • 2:24 - 2:28
    აი, ახლა, ალბათ, ხედავთ, რომ როცა
    ვიყენებთ 'setTimeout' ფუნქციას
  • 2:28 - 2:34
    ბრაუზერი ფუნქციას იძახებს ერთხელ,
    გამეორების გარეშე.
  • 2:34 - 2:39
    ასე რომ, ამ შემთხვევაში ეგ არ გამოგვადგება.
  • 2:39 - 2:42
    მაგრამ სხვა შემთხვევებში შეიძლება ძალიან
    სასარგბელო ფუნქცია აღმოჩნდეს:
  • 2:42 - 2:46
    მაგალითად, თუ ჩვენს მომხმარებლებს
    გამაფრთხილებელ ბანერს ვუჩვენებთ
  • 2:46 - 2:48
    და გვინდა, რომ იგი 10 წამში გაქრეს.
  • 2:48 - 2:53
    ახლა ეს ისევ 'setInterval'-ად
    შევცვალოთ.
  • 2:53 - 2:57
    ახლა, როცა მსგავს ანიმაციებს ვტესტავთ
  • 2:57 - 3:00
    უნდა ვნახოთ, როგორ გამოიყურება ის თავიდან
    ბოლომდე;
  • 3:00 - 3:02
    მაგალითად, უნდა ვნახოთ, რა ხდება
    როცა მივიღებთ 0-ს.
  • 3:02 - 3:05
    ძალიან დიდი ხანი მოგივწევს ცდა
  • 3:05 - 3:07
    რაც მოსაწყენია;
  • 3:07 - 3:11
    ამიტომ საწყის წერტილად ავიღოთ 5
  • 3:11 - 3:13
    და ვნახოთ, რა მოხდება.
  • 3:13 - 3:17
    ოთხი, სამი, ორი, ერთი, ნული...
  • 3:17 - 3:19
    მინუს ერთი, მინუს ორი.
  • 3:19 - 3:22
    ეს ცოტა უცნაურია.
  • 3:22 - 3:26
    როცა სამყარო დასრულდება, უბრალოდ უნდა
    ავფეთქდეთ და შევწყვიტოთ თვლა.
  • 3:26 - 3:30
    გამოდის, რომ ჩვენ გვინდა
  • 3:30 - 3:33
    შევაჩეროთ უკუთვლა, როცა ის ნულამდე მივა.
  • 3:33 - 3:36
    ამის გაკეთება 'if' პირობით შეგვიძლია,
    ფუნქციის შიგნითვე.
  • 3:36 - 3:42
    პირველ რიგში, მიმდინარე დრო ცვლადად
    უნდა შევინახო, იმიტომ რომ
  • 3:42 - 3:45
    მას არაერთხელ გამოვიყენებთ.
  • 3:45 - 3:48
    ავიღოთ ეს, ჩავსავთ აქ;
  • 3:48 - 3:51
    და ჩავანაცვლოთ ეს ცვლადით 'currentTime'
  • 3:51 - 3:56
    ახლა უნდა შევქმნა 'if' პირობა,
  • 3:56 - 4:01
    რომლის გამოც ტექსტი შეიცვლება მხოლოდ მაშინ
    როცა 'currentTime' 0-ზე მეტია.
  • 4:01 - 4:05
    ერთის გამოკლება მხოლოდ ამ შემთხვევაში გვინდა.
  • 4:05 - 4:10
    ეს აქ უნდა გადავიტანო, შიგნით.
  • 4:10 - 4:15
    ეს მუშაობს.. თუმცა ამ მიდგომას ერთი დიდი
    ნაკლი აქვს.
  • 4:15 - 4:19
    ბრაუზერი გააგრძელებს ფუნქციის გამოძახებს
    ყოველ ერთ წამში,
  • 4:19 - 4:22
    სანამ ვებ-გვერდი ღიაა.
  • 4:22 - 4:25
    ბრაუზერებს კი უამრავი სხვა საქმე აქვთ
    გასაკეთებელი
  • 4:25 - 4:28
    და ტყუილ-უბრალოდ არ უნდა გამოვაძახებინოთ
    ფუნქცია.
  • 4:28 - 4:31
    ამიტომ, სინამდვილეში გვინდა, რომ
  • 4:31 - 4:36
    ბრაუზერმა შეწყვიტოს ფუნქციის გამოძახება,
    როცა იგი ნულს გაუტოლდება.
  • 4:36 - 4:40
    ამას ახალი მეთოდის გამოყენებით ვიზამთ,
    რომელსაც ჰქვია 'window.clearInterval()'.\
  • 4:40 - 4:47
    ჩავსვათ ეს 'window.clearInterval()' აქ -
    'else' -ის ველში.
  • 4:47 - 4:52
    ახლა ფუნქციას უნდა მივაწოდოთ არგუმენტი,
    რომ გაიგოს, რომელი ინტერვალი უნდა შეწყვიტოს.
  • 4:52 - 4:56
    გვერდზე ხომ ბევრი სხვადასხვა ინტერვალი
    შეიძლება, გვქონდეს.
  • 4:56 - 4:59
    იმისთვის, რომ გავიგოთ, რომელი
    ინტერვალია შესაწყვეტი,
  • 4:59 - 5:03
    'setInterval'-ის შედეგი უნდა შევინახოთ ცვლადად.
  • 5:03 - 5:08
    ახლა მაქვს მთვლელის ცვლადი,
    რომელიც შემიძლია აქ ჩავსვა
  • 5:08 - 5:11
    და გავაგებინო ფუნქციას, რა უნდა შეწყდეს
    როცა მთვლელი მივა 0-მდე:
  • 5:11 - 5:16
    უნდა დასრულდეს განახლება
    და ამ ფუნქციის გამოძახება.
  • 5:16 - 5:19
    ყოველი ანიმაციისთვის ზედმიწევნით ზუსტად
    უნდა განსაზღვროთ,
  • 5:19 - 5:22
    რა პირობით უნდა ჩერდებოდეს იგი.
  • 5:22 - 5:26
    და კი, შეიძლება ისეთი ანიმაცია შექმნათ,
    რომელიც უსასრულოდ უნდა გრძელდებოდეს,
  • 5:26 - 5:29
    მაგრამ ეს რამე გასაკუთრებით კარგი უნდა იყოს
  • 5:29 - 5:34
    იმიტომ რომ თქვენი ბრაუზერი რეალურად
    იტვირთება, როცა იძახებს რაღაც ფუნქციას.
  • 5:34 - 5:38
    ახლა კი დროა ავაფეთქოთ ეს სამყარო!
Title:
უკუსვლის შექმნა (ვიდეო-ვერსია)
Description:

more » « less
Video Language:
English
Duration:
05:39

Georgian subtitles

Revisions