// delay function init
$(document).ready(function() {
  mainNavigation.init();
});

// delay function
var mainNavigation = {
  delay: 2000,
  closeTimeout: null,

  init: function() {
    $('#mainnav > li').each(function() {
      $(this).hover(function(){
        if(!$(this).hasClass('hover')) {
          mainNavigation.closeSubnav();
        }
        clearTimeout(mainNavigation.closeTimeout);
        $(this).addClass('hover');
      }, function() {
        mainNavigation.closeDelay();
      });
    });
  },
  closeDelay: function() {
    mainNavigation.closeTimeout = setTimeout(function(){
      console.log('close now');
      mainNavigation.closeSubnav();
    }, mainNavigation.delay);
  },
  closeSubnav: function() {
    $('#mainnav > li').each(function() {
      $(this).removeClass('hover');
    });
  }
}

 

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht.