⊗jsPmTrML 448 of 505 menu

Тугманинг JavaScript да турли марта босилиши ва таймерни ишга тушириш

Юқорида келтирилган менинг код, аслинда муайян муаммога эга. Бу муаммо агар бизнинг тугмамизга бир неча mарта босилса, ўзини намойон қилади. Бу ҳолатда ҳар бир босилш янгы таймерни ишга тушишига олиб келади.

Яъни, масалан, тугмага уч марта босилш унинг натижасида учта таймер ишга тушади, ва уларнинг ҳар бири ҳисоблагычнинг қийматини консолга чиқаради. Бу демакки, қийматлар уч баробар тез ўзгаради!

Юқорида тавсифланган муаммони ҳал қилиш учун, жуда содда қилиб, тугмага такрорланган босилш янги таймерни ишга тушишига олиб келмаслигини таъминлаш керак. Масалан, таймерни ишга туширгандан сўнг, тугмага богланган босилш ишловчисини ундан ажратиб қўйиш мумкин:

let start = document.querySelector('#start'); start.addEventListener('click', function func() { let i = 0; setInterval(function() { console.log(++i); }, 1000); this.removeEventListener('click', func); // ишловчини ажратамиз });

Олдинги машқнинг ёзилган ҳаллини олинг. Тугмага турли марта босилш ҳисобланшнинг тезлашишига олиб келишини текшириб кўринг. Бу муаммони тузатинг.

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