⊗jsPrStAcc 14 of 62 menu

აკორდეონი JavaScript-ში

ახლა კი განვახორციელოთ აკორდეონი. იგი მოგვაგონებს ჩანართებს, რომლებიც გვერდზე არის გადაბრუნებული. ამ შემთხვევაში აკორდეონში შესაძლებელია მიმდინარე ჩანართის დახურვა, თუ აქტიურ ბმულზე დააჭერთ.

აი ნიმუში:

გაეცანით ასევე ვერსტკას, რომლის საფუძველზეც ამოცანას გავაკეთებთ:

<div id="parent"> <div class="tab active"> <div class="link"> <a href="#" >ჩანართი 1</a> </div> <div class="text"> ჩანართი 1-ის ტექსტი </div> </div> <div class="tab"> <div class="link"> <a href="#" >ჩანართი 2</a> </div> <div class="text"> ჩანართი 2-ის ტექსტი </div> </div> <div class="tab"> <div class="link"> <a href="#" >ჩანართი 3</a> </div> <div class="text"> ჩანართი 3-ის ტექსტი </div> </div> </div> #parent { margin: 0 auto; width: 400px; } .tab { margin-bottom: 10px; } .tab .link a { display: block; padding: 10px; color: black; text-decoration: none; text-align: center; background: #f8f8f8; border: 1px solid gray; } .tab .link:hover a { background: #f2f2f2; } .tab:not(.active) .text { display: none; } .tab .text { border: 1px dashed gray; border-top: none; padding: 10px; height: 300px; }

განხილვა

ტექნიკურად აკორდეონის HTML კოდი უფრო მოსახერხებელია, ვიდრე ჩანართების კოდი: მასში ბმულები განლაგებულია უშუალოდ იმ სპოილერის ზემოთ, რომელსაც ისინი ხსნიან და ხურავენ. გარდა ამისა, კლასი active ჩვენს ვერსტკაში იკისრება ბმულისა და სპოილერის საერთო მშობელს.

ეს ნიშნავს, რომ ბმულზე დაჭერისას საჭიროა უბრალოდ ძველი ჩანართის დეაქტივაცია და ახლის აქტივაცია. ძველი ჩანართის დეაქტივაციისთვის საჭიროა მოიძებნოს active კლასის მქონე ჩანართი და ამოიშალოს მისგან ეს კლასი.

ახალი ჩანართის ასაქტიურებლად საჭიროა ბმულზე დაჭერისას მოიძებნოს ამ ბმულის მშობელი ჩანართი და მივანიჭოთ მას კლასი active. ტექნიკურად ასეთი ძიების განხორციელება შესაძლებელია ასე: უბრალოდ მოიძებნოს ბმულის უახლოესი მშობელი, რომელსაც აქვს კლასი tab.

თქვენთვის მოცემული HTML და CSS კოდები დააკოპირეთ. განახორციელეთ აკორდეონი აღწერილი ალგორითმის მიხედვით.

ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა