oscarviedma

OV Menu Inferior Acordeón - OV DIVI

Oct 24th, 2025
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 1.92 KB | None | 0 0
  1. <audio id="ov-mia-snd-open" src="/menu-playin.mp3"></audio>
  2. <audio id="ov-mia-snd-close" src="/menu-playout.mp3"></audio>
  3. <audio id="ov-mia-snd-hover" src="/hover-short.mp3"></audio>
  4.  
  5. <script>
  6. const ovMiaMenu         = document.getElementById('ov-mia-bottomMenu');
  7. const ovMiaHeaderBar    = document.getElementById('ov-mia-headerClick');
  8. const ovMiaSndOpen      = document.getElementById('ov-mia-snd-open');
  9. const ovMiaSndClose     = document.getElementById('ov-mia-snd-close');
  10. const ovMiaSndHover     = document.getElementById('ov-mia-snd-hover');
  11. const ovMiaToggleButton = document.getElementById('ov-mia-toggleButton');
  12. const ovMiaIcon         = ovMiaToggleButton ? ovMiaToggleButton.querySelector('.et-pb-icon') : null;
  13. let ovMiaOriginalIcon   = ovMiaIcon ? ovMiaIcon.innerHTML : '';
  14.  
  15. function ovMiaPlay(snd){
  16.   if (snd) {
  17.     snd.currentTime = 0;
  18.     snd.play().catch(()=>{});
  19.   }
  20. }
  21.  
  22. function ovMiaCloseMenu() {
  23.   if (ovMiaMenu.classList.contains('ov-mia-open')) {
  24.     ovMiaPlay(ovMiaSndClose);
  25.     ovMiaMenu.classList.remove('ov-mia-open');
  26.     if (ovMiaIcon) {
  27.       ovMiaIcon.innerHTML = ovMiaOriginalIcon;
  28.     }
  29.   }
  30. }
  31.  
  32. function ovMiaToggleMenu() {
  33.   const opened = ovMiaMenu.classList.contains('ov-mia-open');
  34.   if (opened) {
  35.     ovMiaCloseMenu();
  36.   } else {
  37.     ovMiaPlay(ovMiaSndOpen);
  38.     ovMiaMenu.classList.add('ov-mia-open');
  39.     if (ovMiaIcon) {
  40.       ovMiaIcon.textContent = '✕';
  41.     }
  42.   }
  43. }
  44.  
  45. ovMiaHeaderBar.addEventListener('click', ovMiaToggleMenu);
  46.  
  47. document.addEventListener('click', e => {
  48.   if (e.target.closest('.ov-close-menu')) {
  49.     ovMiaCloseMenu();
  50.   }
  51. });
  52.  
  53. document.addEventListener('keydown', e => {
  54.   if (e.key === "Escape" && ovMiaMenu.classList.contains('ov-mia-open')) {
  55.    ovMiaCloseMenu();
  56.   }
  57. });
  58.  
  59. document.querySelectorAll('.ov-mia-blurb').forEach(blurb => {
  60.   blurb.addEventListener('mouseenter', () => {
  61.     ovMiaPlay(ovMiaSndHover);
  62.   });
  63. });
  64. </script>
Advertisement
Add Comment
Please, Sign In to add comment