-
ბოლო ტუტორიალში მე გაჩვენეთ, როგორ
განსაზღვროთ სტილები JavaScript-ში
-
თუ ბევრ სხვადასხვა სტილს გამოიყენებ
JavaScript-ში, ბოლოს
-
კოდის ასობით ხაზი გექნება,
რომელთაც უდა მიანიჭო CSS მნიშვნელობები.
-
და ამან შეიძლება სერიოზულად არიოს შენი
JavaScript.
-
მაგრამ, შეგვიძლია გავაკეთოთ ასე:
-
შეგვიძლია შევქმნათ CSS კლასი
-
და CSS წესი ამ კლასისთვის,
ჩვენთვის სასურველი სტილით.
-
შემდეგ კი დინამიურად დავამატოთ ამ კლასის
სახელი JavaScript-ში.
-
დავიწყოთ თეგით ``.
-
შევქმნათ კლასი .catcolors და CSS წესი
ამ კლასისთვის.
-
ფერები იქნება შემდეგი: color: orange`,
and `background-color: black`.
-
ახლა თუ გვინდა ეს მივმართოთ ელემენტს
"heading" (ჰედერს)
-
ჩავწეროთ `headingEl.className = "catcolors";
-
ახლა შეგვიძლია წავშალოთ ფერების
-
განსაზღვრებები JavaScript-იდან.
-
და
-
გამოვიდა!
-
ამჩნევთ რაღაც უცნაურობას?
-
HTML ატრიბუტი კლასების სახელებისთვის
არის უბრალოდ class
-
ეს რომ HTML-ში გამეკეთებინა, იქნებოდა
class="catcolors"
-
მაგრამ როცა JavaScript-ში ვმუშაობთ,
უნდა გამოვიყენოთ .className
-
რაც ჩვენთვის ცოტა უჩვეულოა.
-
ეს ასეა იმიტომ, რომ class JavaScript-ში არის
ფუქნციური სიტყვა,
-
რომელსაცა ამ ენაში განსაკუთრებული
მნიშვნელობა აქვს.
-
ამის გამო, ბრაუზერებმა გადაწყვიტეს
გამოიყენონ className , როცა
-
HTML კლასის ატრიბუტს უნდა მიმართონ.
-
დაიმახსოვრე, თუ გინდა განსაზღვრო ელემენტის
კლასის ატრიბუტი,
-
წერ .className უდრის ....
-
ახლა დაუკავშირე ეს ცხოველის
ყოველ სახელს;
-
ეს შეიძლება ჩავსვათ ციკლში.
-
nameEls[i].className = "catColors";
-
ასე დავამატებთ ახალ კლასს და სახელს,
მაგრამ წავშლით ყველა კლასს,
-
რაც მანამდე იყო - ეს მოხდება
იმის გამო, რომ გავატოლეთ.
-
ასე რომ, თუ აქ მანამდე რამე კლასები იყო
ახლა აღარ არის.
-
ვიცით, რომ აქ ადრე იყო კლასები,
რომლებიც უდრიდა ცხოველებს,
-
ახლა კი catColors გვაქვს.
-
ახლა ამ კლასის ატრიბუტს უნდა დავუმატოთ
კლასის ახალი სახელი.
-
ამის გაკეთება შეგვიძლია ასე:
+ = catColors
-
ესეც ასე.
-
ეს საკმაოდ უსაფრთხო გზაა,
-
იმიტომ რომ წინა კლასს უმატებს ახალს.
-
ახალ ბრაუზერებში კიდევ შეიძლება
-
classList თვისების გამოყენება.
-
ვაკეთებთ ასე:
nameEls[i].classList.add("catcolors");
-
ეს გაცილებით უფრო კარგია, მაგრამ
ყველგან არ მუშაობს.
-
თუ ამის გამოყენება გინდა, უნდა გადახვიდე
გვერდზე caniuse.com
-
და დარწმუნდე, რომ ის მუშაობს
ყველა ბრაუზერში,
-
სადაც გინდა, რომ შენი გვერდი გაიხსნას.
-
შენთვის ეს ფუნქცია კი არის კარგი, მაგრამ
კარგი სულაც არაა თუ გვერდი არ ჩაიტვირთა
-
იმის გამო, რომ ისეთი ფუნქცია გამოიყენე,
რომლის შესახებაც ბრაუზერს ჯერ არაფერი არ სმენია.
-
ეს ისე, ზოგადად.
-
მე მაგალითად მირჩევნია, რომ ჩემი
გვერდი ყველა ბრაუზერში იხსნებოდეს.
-
საკითხს რომ დავუბრუნდეთ, ხანდახან
კლასების სახელების მინიჭების მაგივრად
-
გვირჩევნია ცალკე სტილების შეცვლა.
-
მოკლედ, გახსოვდეს, რომ ორივე ეს ხერხი
არსებობს და შეგიძლია გამოიყენო.
-
აირჩიე საუკეთესო სიტუაციიდან გამომდინარე.