1document.addEventListener('DOMContentLoaded', function() { 2 const categoryButtons = document.querySelectorAll('.category-button'); 3 const newsItems = document.querySelectorAll('.news-item'); 4 const blogBreadcrumb = document.getElementById('blog-breadcrumb'); 5 const categoryBreadcrumb = document.getElementById('category-breadcrumb'); 6 const categoryName = document.getElementById('category-name'); 7 8 categoryButtons.forEach(button => { 9 button.addEventListener('click', () => { 10 const category = button.dataset.category; 11 12 // ÐÑли Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸ Ð½ÐµÑ data-category (напÑимеÑ, кнопка "ÐовоÑÑи"), не вÑполнÑем ÑилÑÑÑаÑÐ¸Ñ 13 if (!category) { 14 return; 15 } 16 17 // УпÑавление акÑивнÑм ÑоÑÑоÑнием кнопок 18 categoryButtons.forEach(btn => btn.classList.remove('active')); 19 button.classList.add('active'); 20 21 // Ðбновление Ñ Ð»ÐµÐ±Ð½ÑÑ ÐºÑоÑек 22 if (category === 'all') { 23 // ÐÑли вÑбÑано "ÐÑе", ÑкÑÑваем каÑегоÑÐ¸Ñ Ð¸ ÑбиÑаем ÑÑÑÐ»ÐºÑ Ñ "Ðлог" 24 if (blogBreadcrumb) { 25 blogBreadcrumb.innerHTML = 'Ðлог'; 26 } 27 if (categoryBreadcrumb) { 28 categoryBreadcrumb.style.display = 'none'; 29 } 30 } else { 31 // ÐÑли вÑбÑана конкÑеÑÐ½Ð°Ñ ÐºÐ°ÑегоÑиÑ, показÑваем ÐµÑ Ð² кÑоÑÐºÐ°Ñ 32 if (blogBreadcrumb) { 33 blogBreadcrumb.innerHTML = '<a href="/blog">Ðлог</a>'; 34 } 35 if (categoryName) { 36 categoryName.textContent = category; 37 } 38 if (categoryBreadcrumb) { 39 categoryBreadcrumb.style.display = 'block'; 40 } 41 } 42 43 // ФилÑÑÑаÑÐ¸Ñ Ð½Ð¾Ð²Ð¾ÑÑей 44 newsItems.forEach(item => { 45 const categories = item.dataset.categories.split(','); 46 if (category === 'all' || categories.includes(category)) { 47 item.style.display = 'block'; 48 } else { 49 item.style.display = 'none'; 50 } 51 }); 52 }); 53 }); 54});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.