SanHok Product
TV Assembly Aging Testing Line
The TV assembly line is composed of a production line, an aging line, and a moving table.
Its size can be customized according to the area of the workshop.
It is suitable for TV production of all sizes, from 15 inches to 65 inches.
The most used TV production lines are 43-inch, 55-inch, and 65-inch LED TV assembly lines.
Contact us for a price
Speak To A Conveyer Specialist
Specifications
SanHok TV Assembly Aging Testing Line
{acf_industry_specifications_left_detail}
{acf_industry_specifications_right_detail}
Features
{acf_video_module_heading}
{acf_video_module_details}
Services
Customization Steps
The conveyor roller is a non-standard customized product.
The customization steps are as follows:
{acf_custom_process_step1_heading}
{acf_custom_process_step1_details}
{acf_custom_process_step2_heading}
{acf_custom_process_step2_details}
{acf_custom_process_step3_heading}
{acf_custom_process_step3_details}
{acf_custom_process_step4_heading}
{acf_custom_process_step4_details}
Contact us for a price
Speak To A Conveyer Specialist
Accessories 样式1
Enhance Your Assembly Line With Our Premium Accessories
<script>
document.addEventListener('DOMContentLoaded', () => {
const FBautoplayTime = 5; // Set autoplay time in secounds
// Seleccionar todos los conjuntos de tabs
const tabsSets = document.querySelectorAll('[fb-tabs]');
tabsSets.forEach(tabsSet => {
const tabs = tabsSet.querySelectorAll('[fb-tabs-btn]');
const panels = tabsSet.querySelectorAll('[fb-tabs-panel]');
const tabsMenu = tabsSet.querySelector('[fb-tabs-menu]');
const tabsTitle = tabsSet.querySelector('[fb-tabs-title]');
const isVertical = tabsSet.hasAttribute('fb-vertical');
// Añadir la variable CSS --fb-progress-time al estilo de [fb-tabs]
tabsSet.style.setProperty('--fb-progress-time', `${FBautoplayTime}s`);
// Asignar aria-label del menú de tabs con el texto del título
if (tabsMenu && tabsTitle) {
tabsMenu.setAttribute('aria-label', tabsTitle.textContent.trim());
}
// Asignar aria-controls a los tabs y aria-label a los paneles
if (tabs.length === panels.length) {
tabs.forEach((tab, index) => {
const panelId = panels[index].id;
const tabText = tab.textContent.trim();
if (panelId && tabText) {
tab.setAttribute('aria-controls', panelId);
panels[index].setAttribute('aria-label', tabText);
}
tab.setAttribute('aria-selected', tab.classList.contains('brx-open'));
tab.setAttribute('tabindex', tab.classList.contains('brx-open') ? '0' : '-1');
});
}
// Configurar el MutationObserver
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
const targetTab = mutation.target;
targetTab.setAttribute('aria-selected', targetTab.classList.contains('brx-open'));
targetTab.setAttribute('tabindex', targetTab.classList.contains('brx-open') ? '0' : '-1');
}
});
});
// Observar cada tab para cambios en la clase
tabs.forEach((tab) => {
observer.observe(tab, { attributes: true });
});
let currentTabIndex = 0;
let autoplayInterval = null;
let hoverTimeout = null;
let isHovered = false;
let manualSelection = false;
const startAutoplay = () => {
autoplayInterval = setInterval(() => {
if (!manualSelection && !isHovered) {
const nextIndex = (currentTabIndex + 1) % tabs.length;
activateTab(nextIndex);
}
}, FBautoplayTime*1000); // Usar la constante para el tiempo del autoplay
};
const resetAutoplay = (index) => {
clearInterval(autoplayInterval);
activateTab(index);
manualSelection = true;
tabs.forEach((tab, idx) => {
tab.setAttribute('aria-selected', idx === currentTabIndex);
tab.setAttribute('tabindex', idx === currentTabIndex ? '0' : '-1');
panels[idx].classList.toggle('brx-open', idx === currentTabIndex);
});
setTimeout(() => {
manualSelection = false;
}, 100);
};
const activateTab = (index) => {
tabs[currentTabIndex].classList.remove('brx-open');
panels[currentTabIndex].classList.remove('brx-open');
currentTabIndex = index;
tabs[currentTabIndex].classList.add('brx-open');
panels[currentTabIndex].classList.add('brx-open');
tabs.forEach((tab, idx) => {
tab.setAttribute('aria-selected', idx === currentTabIndex);
tab.setAttribute('tabindex', idx === currentTabIndex ? '0' : '-1');
});
};
startAutoplay();
const handleHoverStart = () => {
isHovered = true;
tabsSet.classList.add('fb-tab-progress');
clearInterval(autoplayInterval);
};
const handleHoverEnd = () => {
isHovered = false;
tabsSet.classList.remove('fb-tab-progress');
if (!manualSelection) {
startAutoplay();
}
};
// Añadir manejadores de clic y hover para tabs
tabs.forEach((tab, index) => {
tab.addEventListener('click', () => {
resetAutoplay(index);
});
tab.addEventListener('focus', () => {
handleHoverStart();
});
tab.addEventListener('mouseenter', () => {
handleHoverStart();
});
tab.addEventListener('mouseleave', () => {
handleHoverEnd();
});
tab.addEventListener('keydown', (event) => {
if (event.key === 'Enter' || event.key === ' ') {
event.preventDefault();
resetAutoplay(index);
}
});
});
// Añadir manejadores de hover para paneles
panels.forEach((panel) => {
panel.addEventListener('mouseenter', () => {
handleHoverStart();
});
panel.addEventListener('mouseleave', () => {
handleHoverEnd();
});
});
// Manejo de eventos de teclado para navegación entre tabs
tabsSet.addEventListener('keydown', (event) => {
const currentTab = tabs[currentTabIndex];
if (event.key === 'ArrowRight' || (isVertical && event.key === 'ArrowDown')) {
event.preventDefault();
const nextIndex = (currentTabIndex + 1) % tabs.length;
resetAutoplay(nextIndex);
tabs[nextIndex].focus();
} else if (event.key === 'ArrowLeft' || (isVertical && event.key === 'ArrowUp')) {
event.preventDefault();
const nextIndex = currentTabIndex === 0 ? tabs.length - 1 : currentTabIndex - 1;
resetAutoplay(nextIndex);
tabs[nextIndex].focus();
} else if (event.key === 'Home') {
event.preventDefault();
resetAutoplay(0);
tabs[0].focus();
} else if (event.key === 'End') {
event.preventDefault();
resetAutoplay(tabs.length - 1);
tabs[tabs.length - 1].focus();
}
});
});
});
</script>

Air Conditioner Assembly Line
Here goes your text ... Select any part of your text to access the formatting toolbar.

Product A

Product B

Product C

Product D

Product E

Product F
Tv Assembly Line
Refrigerator & Freezer Assembly Line
Washing Machine Production
Mobile Phone Assembly Line
Washing Machine Production
Led Lamp Assembly Line
Microwave Assembly Line
Water Dispenser Assembly Line
Check More

Battery Pack Production Line
Here goes your text ... Select any part of your text to access the formatting toolbar.

Product A

Product B

Product C

Product D

Product E

Product F

Product A

Product B

Product C

Product D

Product E

Product F

Product A

Product B

Product C

Product D

Product E

Product F
Accessories
Enhance Your Assembly Line With Our Premium Accessories

Product A

Product B

Product C

Product D

Product E

Product F

Product F

Product F

Product A

Product B

Product C

Product D

Product E

Product F

Product A

Product B

Product C

Product D

Product E

Product F

Product A

Product B

Product C

Product D

Product E

Product F

Product A

Product B

Product C

Product D

Product E

Product F

Product A

Product B

Product C

Product D

Product E

Product F

Product A

Product B

Product C

Product D

Product E

Product F
Support
Comprehensive Services And Support
Besides life long technical support, we also offer you service as below:
Shipment Of Machine
We will take the most solid and security package, with wooden cases and all kinds of soft material, to make sure the machine arrive safely.
Installation
We will send one engineer to come to your site for helping set up the machine and testing.
Training
Our engineer will teach your staff how to use the machine and do the maintenance.
Warranty
We offer 12 months or 2500 working hours quality warranty.














