Advertisement
thebys

Jquery UXboost výměna sekundárního menu

Feb 22nd, 2016
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
jQuery 2.03 KB | None | 0 0
  1. /**
  2.  * Created by Thebys on 22. 2. 2016.
  3.  */
  4. /*
  5.  * Jquery event-based obsluha sekundarniho menu kvuli zlepseni UX
  6.  * Script neni nutny pro pouziti stranky, ale podstatne zlepsuje UX diky moznosti prechazet potomky hlavniho menu bez
  7.  * znovunacteni stranky, tj. pro zmenu kategorie staci hover, nikoliv page-reaload.
  8.  * */
  9. (function ($) {
  10.     /*funkce na prehazovani kategorie L2 menu*/
  11.     function prehoditPolozkyMenuKategorii(CestaNadrazenePolozkyMenu) {
  12.         /*Skryte polozky 0. urovne menu kategorii (kopiruji hlavni barevne menu, ale nejsou videt, existuji z technickych duvodu*/
  13.         var menuKategoriiLevel0 = $('#block-hlavnimenu-2').children('ul.menu').children('.menu-item');
  14.         /*Schovat vsechna menu kategorii*/
  15.         $(menuKategoriiLevel0.children('ul.menu').hide());
  16.         /*Zobrazit jedno spravne aktualni menu kategorii*/
  17.         /*viditelnost je rozdil mezi display: none a display: flex, proto je potreba resit implicitni display:block, ktery nefunguje spravne*/
  18.         $(menuKategoriiLevel0.children('a[data-drupal-link-system-path="' + CestaNadrazenePolozkyMenu + '"]')).next().fadeIn(100).css("display", "flex");
  19.     }
  20.  
  21.     /*trigger vymeny kategorie po najeti na polozku hlavniho menu*/
  22.     /*vybereme polozky hlavniho menu, ktere chceme sledovat, protoze budou prepinat menu kategorii*/
  23.     $('#block-nadaliborce-hlavnimenu').find('.menu-item').mouseenter(function () {
  24.         /*zjistime pres kterou polozku bylo prejeto...*/
  25.         var CestaNadrazenePolozkyMenu = $(this).find('a').attr('data-drupal-link-system-path');
  26.         /*a zavolame funkci, ktera vymeni menu s patricnym argumentem*/
  27.         prehoditPolozkyMenuKategorii(CestaNadrazenePolozkyMenu);
  28.     });
  29.  
  30.     /*Vychozi nastaveni viditelne kategorie menu, pokud neni povoleny javascript, je to jedina viditelna s display:flex, ostatni maji display:none*/
  31.     $(function () {
  32.         prehoditPolozkyMenuKategorii($('#block-nadaliborce-hlavnimenu').find('.menu-item').find('a.is-active').attr('data-drupal-link-system-path'));
  33.     });
  34. })(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement