| Server IP : 104.21.28.229 / Your IP : 216.73.216.142 Web Server : Apache/2 System : Linux hosting8537.lvs 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : mienphi ( 1014) PHP Version : 8.2.14 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/mienphi/public_html/wp-content/plugins/learnpress/assets/src/apps/js/frontend/ |
Upload File : |
export default function TabsDragScroll() {
// Selectors and DOM elements
const TabsDragScroll = document.querySelector('.TabsDragScroll');
if (!TabsDragScroll) return;
const tabMenu = TabsDragScroll.querySelector('ul');
// Dragging functionality
let activeDrag = false;
tabMenu.addEventListener('mousemove', (event) => {
if (!activeDrag) return;
tabMenu.scrollLeft -= event.movementX;
// iconVisibility();
tabMenu.classList.add('dragging');
});
document.addEventListener('mouseup', () => {
activeDrag = false;
tabMenu.classList.remove('dragging');
});
tabMenu.addEventListener('mousedown', () => {
activeDrag = true;
});
// Scroll to <li> on click
const scrollToLi = (li) => {
const liLeft = li.offsetLeft;
const liWidth = li.offsetWidth;
const tabCenter = (tabMenu.clientWidth / 2) - (liWidth / 2);
tabMenu.scrollTo({
left: liLeft - tabCenter,
behavior: 'smooth',
});
};
// Add click event listeners to all <li> elements
tabMenu.querySelectorAll('li').forEach((li) => {
li.addEventListener('click', () => scrollToLi(li));
});
}