1var KHelper = { 2 _formatString: function (str) { 3 str = str.toLowerCase(); 4 str = str.replace(/à |á|ạ|ả|ã|â|ầ|ấ|áº|ẩ|ẫ|Ä|ằ|ắ|ặ|ẳ|ẵ/g, "a"); 5 str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|á»|ế|á»|á»|á» /g, "e"); 6 str = str.replace(/ì|Ã|á»|á»|Ä©/g, "i"); 7 str = str.replace(/ò|ó|á»|á»|õ|ô|á»|á»|á»|á»|á»|Æ¡|á»|á»|ợ|á»|ỡ/g, "o"); 8 str = str.replace(/ù|ú|ụ|á»§|Å©|ư|ừ|ứ|á»±|á»|ữ/g, "u"); 9 str = str.replace(/ỳ|ý|ỵ|á»·|ỹ/g, "y"); 10 str = str.replace(/Ä/g, "d"); 11 12 return str; 13 }, 14}; 15 16jQuery(document).ready(function ($) { 17 $('.header-bg-container').hide(); 18 var KApp = { 19 init: function () { 20 this.add_readmore_button(); 21 }, 22 23 // Will add readmore button to all the wrapper class .k-readmore-box automatically 24 add_readmore_button: function () { 25 var hidden_block_view = function(element, your_height = 150) { 26 var wrap = element; 27 var current_height = wrap.height(); 28 if (current_height > your_height) { 29 wrap.css('height', your_height + 'px'); 30 wrap.append(function () { 31 return '<div class="devvn_readmore_flatsome"><span title="Xem thêm" href="javascript:void(0);">Xem thêm</span></div>'; 32 }); 33 $('body').on('click','.devvn_readmore_flatsome', function () { 34 wrap.removeAttr('style'); 35 $('body .devvn_readmore_flatsome').remove(); 36 }); 37 } 38 }; 39 40 if ($('.k-readmore-box').length > 0) { 41 hidden_block_view($('.k-readmore-box'), 300); 42 } 43 }, 44 45 } 46 47 KApp.init(); 48 49 $(".gif-banner").append('<a class="x" href="javascript:void(0);">x</a>'); 50 $('.gif-banner .x').click(function() { 51 $('.gif-banner').hide(); 52 }); 53 $('.j-gif').click(function() { 54 $('.gif-banner').show(); 55 }); 56 if ($('.rank-math-breadcrumb .last').text() == 'KQBD') { 57 $( '<a href="/">KQBD</a><span class="separator"> / </span>' ).insertBefore( '.rank-math-breadcrumb .last' ); 58 $('.rank-math-breadcrumb .last').text($('title').text().replace(' -', '')); 59 } 60 $(".h-section .readmore").append('<button class="readmoreButton">Äá»c tiếp</button>'); 61 $(".h-section .readmore .readmoreButton").click(function() { 62 $('.h-section .readmore *').show(); 63 $('.h-section .readmore .readmoreButton').hide(); 64 }); 65 $(".h-cpd").append('<div class="x">x</div>'); 66 $('.h-cpd .x').click(function() { 67 $(this).parent().hide(); 68 }); 69 $(".header-block .j-kqbd span").prepend('<span class="live"></span>'); 70}); 71document.querySelectorAll('.custom-select').forEach(customSelect => { 72 const selected = customSelect.querySelector('.select-selected'); 73 const items = customSelect.querySelector('.select-items'); 74 if (!selected || !items) return; // bá» qua nếu thiếu HTML 75 76 const options = items.querySelectorAll('.row_bxh_item'); 77 const hiddenInput = customSelect.querySelector('input[type="hidden"]'); 78 79 // Má»/Äóng dropdown 80 selected.addEventListener('click', (e) => { 81 const isOpen = items.style.display === 'block'; 82 items.style.display = isOpen ? 'none' : 'block'; 83 selected.classList.toggle('open', !isOpen); 84 }); 85 86 // Chá»n option 87 options.forEach(option => { 88 option.addEventListener('click', function() { 89 selected.innerHTML = this.textContent + ' <i class="icon-angle-down"></i>'; // giữ icon 90 if (hiddenInput) hiddenInput.value = this.getAttribute('value'); 91 92 options.forEach(o => o.classList.remove('active')); 93 this.classList.add('active'); 94 95 items.style.display = 'none'; 96 selected.classList.remove('open'); 97 }); 98 }); 99}); 100 101jQuery(document).ready(function() { 102 jQuery(".col-inner").each(function() { 103 const container = jQuery(this); 104 const content = container.find(".scroll-content"); 105 const button = container.find(".button"); 106 107 // Ẩn overflow ban Äầu 108 content.css({ 109 "max-height": "460px", 110 "overflow": "hidden", 111 "position": "relative", 112 "transition": "max-height 0.3s ease" 113 }); 114 115 button.click(function(e) { 116 e.preventDefault(); 117 if(content.hasClass("open")) { 118 // Thu gá»n 119 content.removeClass("open"); 120 content.css("max-height", "460px"); 121 button.find("span").text("Äá»c tiếp"); 122 } else { 123 // Má» hết ná»i dung 124 content.addClass("open"); 125 content.css("max-height", content.get(0).scrollHeight + "px"); 126 button.find("span").text("Thu gá»n"); 127 } 128 }); 129 }); 130 jQuery(".gif-btn-banner").click(function(e) { 131 e.stopPropagation(); 132 jQuery(".gif-banner").removeClass('hidden').addClass('visible'); 133 }); 134 135 if (window.location.pathname === "/" || window.location.pathname === "/index.html") { 136 jQuery(".j-kqbd").addClass("kqbd-active"); 137 } 138});
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.