1;(function($, window, document, undefined) { 2 3 //alert('Îñíîâíîé SCRIPT'); 4 //alert('Îñíîâíîé SCRIPT'); 5 //test 6// ========= DEFAULTS PARAMS ========= // 7 8 $.sfNavMulti = function(element, options) { 9// ========= DEFAULTS PARAMS ========= // 10 var defaults = { 11 mobileWidth: 768, 12 overlay: true, 13 overlayColor: "rgba(0, 0, 0, 0.7)", 14 hideScrollBar: true, 15 offCanvasSide: 'left', 16 onInit: function() {}, 17 onShowOffCanvas: function() {}, 18 onHideOffCanvas: function() {}, 19 // ================ horisonatal navigation transformMenu ================ // 20 transformInit: false, 21 transformThreshold: 1, 22 transformCutoff: 0, 23 iconMenu: '<i class="far fa-ellipsis-h fa-lg" aria-hidden="true"></i>', 24 // ================ end flexMenu ================ // 25 fixedInit: false, 26 fixedId: '#sf-nav-id', 27 topSpace: 0, 28 // ================ end flexMenu ================ // 29 leftFlag: false, 30//============== TOP ==============// 31 transformFlag: true, 32 transformPaddingOne: 'p-3', 33 transformPaddingLower: 'p-2', 34 transformTheme: 'theme-dark', 35 transformEffectHover: 'underline', 36 fullScreenFlag: true, 37 fullScreenTheme: 'theme-dark', 38 fixedFlag:true, 39 fixedClass: 'nav-fixed', 40 mobileFlag:true, 41 transferHeadingItem: false, 42 searchContainer: false, 43 horizontalSubmenu: false, 44 positionY:false, 45 }; 46// ========= PLUGIN EVENTS ========= // 47 var plugin = this, 48 widthW = 0, 49 heightW = 0; 50 plugin.settings = {}; 51 var $element = $(element), element = element; 52 // PLUGIN INIT 53 plugin.init = function() { 54 //window.addEventListener('DOMContentLoaded', function() { 55 plugin.settings = $.extend({}, defaults, options); 56 if(plugin.settings.leftFlag) 57 leftCatalog(); 58 else { 59 var section = $(element).find('.center-section'); 60 if(!section.find('> ul.nav-items').hasClass('flex-wrap')) 61 section.find('> ul.nav-items').addClass('flex-wrap'); 62 if(section.hasClass('overflow-hidden')) 63 section.removeClass('overflow-hidden'); 64 section.attr('style', ''); 65 66 $(element).find('.btn-mobile').on('click touchend', function(e) { 67 e.stopPropagation(); 68 e.preventDefault(); 69 plugin.showOffcanvas(); 70 mobileMode(); 71 document.body.style.overflow = 'hidden'; 72 }); 73 74 $(element).find('.sf-close').on('click touchend', function() { 75 plugin.hideOffcanvas(); 76 document.body.style.overflow = 'auto'; 77 }); 78 79 if(plugin.settings.fullScreenFlag) { 80 $(element).find(".btn-full-screen").on('click touchend', function() { 81 fullScreenMode(); 82 plugin.showNav(); 83 }); 84 } 85 86 $(element).find(".btn-search, .sf-close").on("click touchend keyup", function(e) { 87 e.stopPropagation(); 88 e.preventDefault(); 89 var code = e.keyCode || e.which; 90 if(e.type === "click" || e.type === "touchend" || (e.type === "keyup" && code == 13)) 91 plugin.toggleSearch(); 92 else if(code == 9) $(e.target).blur(); 93 94 }); 95 96 if(plugin.settings.transformFlag) { 97 widthW = windowWidth(); 98 heightW = windowHeight(); 99 100 $(window).resize(function() { 101 if(windowWidth() < widthW || windowHeight() < heightW) { 102 transformMode(true); 103 transformMode(false); 104 } else if(windowWidth() > widthW || windowHeight() > heightW) { 105 transformMode(true); 106 transformMode(false); 107 } 108 widthW = windowWidth(); 109 heightW = windowHeight(); 110 111 if(plugin.settings.horizontalSubmenu) { 112 //horizontalMode(); 113 } 114 }); 115 transformMode(false); 116 } 117 if(plugin.settings.fixedFlag) fixedMode(); 118 if(plugin.settings.overlay) $(element).append('<div class="nav-overlay"></div>'); 119 if(plugin.settings.transferHeadingItem) transferItem(); 120 121 if(plugin.settings.horizontalSubmenu) { 122 //horizontalMode(); 123 } 124 125 } 126 //}); 127 128 129 }; 130 131 var transferItem = function() { 132 $(element).find('.transfer-item').css('white-space', 'normal'); 133 } 134 135 // show the overlay panel 136 var showOverlay = function(){ 137 if(plugin.settings.hideScrollBar) $("body").addClass("no-scroll"); 138 139 if(plugin.settings.overlay){ 140 $(element).find(".nav-overlay") 141 .css("background-color", plugin.settings.overlayColor) 142 .fadeIn(300) 143 .on("click touchend", function(){ 144 plugin.hideOffcanvas(); 145 document.body.style.overflow = 'auto'; 146 }); 147 } 148 }; 149 150 // hide the overlay panel 151 var hideOverlay = function(){ 152 if(plugin.settings.hideScrollBar){ 153 $("body").removeClass("no-scroll"); 154 } 155 if(plugin.settings.overlay){ 156 $(element).find(".nav-overlay").fadeOut(400); 157 } 158 }; 159 160 // show offcanvas 161 plugin.showOffcanvas = function(){ 162 showOverlay(); 163 if(plugin.settings.offCanvasSide == "left"){ 164 $(element).find(".center-section").css("transition-property", "left").addClass("open-mobile"); 165 166 var mobileWidth = windowWidth(); 167 168 var textMenu = $('ul.transform-submenu').html(); 169 var navMenu = $('ul.transform-submenu > li'); 170 var textMenu2 = $('ul.nav-menu').slice(0, (navMenu.length - 1)).html(); 171 if(textMenu) { 172 $('ul.transform-submenu').html(''); 173 $('ul.transform-submenu').html(textMenu2 + textMenu); 174 $('.transform-submenu').detach() 175 } 176 else textMenu = $('ul.transform-submenu').html(); 177 } 178 else $(element).find(".center-section").css("transition-property", "right").addClass("open-mobile"); 179 }; 180 181 // hide offcanvas 182 plugin.hideOffcanvas = function() { 183 $(element).find(".center-section").removeClass("open-mobile") 184 .on("webkitTransitionEnd moztransitionend transitionend oTransitionEnd", function(){ 185 $(element).find(".center-section") 186 .css("transition-property", "none") 187 .off(); 188 }); 189 190 $(element).find(".mobile-level").removeClass("open-mobile") 191 .on("webkitTransitionEnd moztransitionend transitionend oTransitionEnd", function(){ 192 $(element).find(".mobile-level") 193 .css("transition-property", "none") 194 .off(); 195 }); 196 hideOverlay(); 197 }; 198 199 // toggle offcanvas 200 plugin.toggleOffcanvas = function(){ 201 if(windowWidth() <= plugin.settings.mobileBreakpoint){ 202 if($(element).find(".center-section").hasClass("open-mobile")) plugin.hideOffcanvas(); 203 else plugin.showOffcanvas(); 204 } 205 }; 206 207 // show/hide the search form 208 plugin.toggleSearch = function(){ 209 if($(element).find(".nav-search").find("form").css("display") == "none"){ 210 $(element).find(".nav-search").find("form").css('display', 'flex'); 211 $(element).find(".nav-search").find("input").focus(); 212 if(plugin.settings.searchContainer) $(element).css('position', 'relative'); 213 } 214 else{ 215 $(element).find(".nav-search").find("form").css('display', 'none'); 216 $(element).find(".nav-search").find("input").blur(); 217 if(plugin.settings.searchContainer) $(element).css('position', 'static'); 218 } 219 }; 220// ========= FULL.SCREEN.MENU ========= // 221 var fullScreenMode = function() { 222 plugin.showNav = function() { 223 $('.sf-nav-full-screen').addClass(plugin.settings.animation).fadeIn(300, function(){ 224 $('html,body').css('overflow', 'hidden'); 225 }); 226 adjustMenuPadding(); 227 } 228 229 var subElement = function(el) { 230 var strSubLevel = ''; 231 $subElem = $(el).children('div.mobile-level').children('ul.submenu-items'); 232 233 if($subElem.length > 0) { 234 //console.log($subElem.children('li')[0]); 235 var index = 0; 236 $subElem.children('li').each(function() { 237 if(index != 0) { 238 $subLevelUp = $(this); 239 if($(this).find('ul.submenu-items').length > 0) { 240 241 } 242 strSubLevel += '<li>' + $(this).html().substr(0, ($(this).html().indexOf('</span>', 0) + 7)) + '</span>'; 243 if($subLevelUp.children('div.mobile-level').children('ul.submenu-items').length > 0) { 244 strSubLevel += '<span class="submenu-indicator item-icon"><i class="fal fa-angle-down" aria-hidden="true"></i></span></a>' 245 + '<ul class="sf-full-screen-sub-level">' + subElement($subLevelUp) + '</ul></li>' 246 } else strSubLevel += '</a></li>'; 247 } 248 index++; 249 }); 250 251 strSubLevel += '</li>'; 252 253 return strSubLevel; 254 } 255 return strSubLevel; 256 } 257 258 plugin.initFullScreen = function() { 259 var fullScreenWindow = '<div class="sf-nav-full-screen ' + plugin.settings.fullScreenTheme + '">' 260 + '<div class="sf-nav-full-screen-header">'; 261 262 $strE = $(element).find('.left-section').find('.nav-brand'); 263 if($strE.length > 0) { 264 fullScreenWindow += '<div class="sf-nav-full-screen-brand">' + $strE[0].outerHTML + '</div>'; 265 } 266 fullScreenWindow += '<button class="sf-close t-1 sf-close-center"></button>'; 267 fullScreenWindow += '</div><div class="sf-nav-full-screen-content">' 268 + '<div class="sf-nav-full-screen-lists sf-scroll">'; 269 270 $(element).children('section.center-section') 271 .children('ul.nav-items') 272 .find('> li').each(function() { 273 var trans = this.querySelector('a.btn-transform'); 274 if(trans != null) { 275 $(this).children('ul.transform-submenu').find('> li').each(function() { 276 var tagLi = '<ul class="sf-nav-full-screen-list">' 277 + '<li class="sf-nav-full-screen-list-header">' 278 + $(this).html().substr(0, ($(this).html().indexOf('</span>', 0) + 7)) 279 + '</span></a></li>'; 280 $flagSubL = $(this); 281 tagLi += subElement($flagSubL); 282 tagLi += '</ul>'; 283 fullScreenWindow += tagLi; 284 }); 285 } else { 286 var tagLi = '<ul class="sf-nav-full-screen-list">' 287 + '<li class="sf-nav-full-screen-list-header">' 288 + $(this).html().substr(0, ($(this).html().indexOf('</span>', 0) + 7)) 289 + '</span></a></li>'; 290 $flagSubL = $(this); 291 tagLi += subElement($flagSubL); 292 tagLi += '</ul>'; 293 fullScreenWindow += tagLi; 294 } 295 }); 296 fullScreenWindow += '</div></div></div>'; 297 $('body').append(fullScreenWindow); 298 }; 299 300 plugin.initEvents = function() { 301 var opts = this.settings; 302 $elem = $('.sf-nav-full-screen-lists'); 303 $elem.children("ul").find("span.item-icon").bind("click touchend", function(e){
304 305 e.stopPropagation(); 306 e.preventDefault(); 307 308 if($(this).parent().siblings('.sf-full-screen-sub-level').length > 0) { 309 if($(this).parent().siblings('.sf-full-screen-sub-level').css("display") == "none") { 310 $(this).parent().siblings('.sf-full-screen-sub-level').css("display", 'flex'); 311 $(this).addClass("submenu-indicator-minus"); 312 return false; 313 } 314 else $(this).parent().siblings('.sf-full-screen-sub-level').css("display", 'none'); 315 if($(this).hasClass("submenu-indicator-minus")) $(this).removeClass("submenu-indicator-minus"); 316 } 317 }); 318 }; 319 320 plugin.hideNav = function() { 321 $('.sf-nav-full-screen').removeClass('zoom').fadeOut('300'); 322 $('html,body').css('overflow', 'auto'); 323 } 324 325 var buttonHideNav = function() { 326 $('.sf-nav-full-screen').children('.sf-nav-full-screen-header').children(".sf-close").on("click touchend", function() { 327 plugin.hideNav(); 328 }); 329 } 330 331 var adjustMenuPadding = function() { 332 var contentHeight = $(element).find(".sf-nav-full-screen-content").innerHeight(); 333 var innerElementsHeight = $(element).find(".full-screen-nav-menu, .sf-nav-full-screen-lists, .full-screen-nav-boxes, .full-screen-nav-circles, .full-screen-nav-general").innerHeight(); 334 if(innerElementsHeight > contentHeight){ 335 $(element).find(".sf-nav-full-screen-content").css("padding-top", contentDefaultPaddingTop); 336 } 337 else{ 338 $(element).find(".sf-nav-full-screen-content").css("padding-top", (contentHeight - innerElementsHeight) / 2); 339 } 340 } 341 342 plugin.initFullScreen(); 343 plugin.initEvents(); 344 buttonHideNav(); 345 346 $(window).resize(function(){ 347 adjustMenuPadding(); 348 }); 349 350 } 351// ========= END FULL.SCREEN.MENU ========= // 352// ========= FLEX.MENU ========= // 353 var transformMode = function(undo) { 354 var $this = $(element).children('.center-section').children('ul'), 355 $items = $this.find('> li'), 356 $firstItem = $items.first(), 357 $lastItem = $items.last(), 358 numItems = $this.find('li').length, 359 firstItemTop = Math.floor($firstItem.offset().top), 360 firstItemHeight = Math.floor($firstItem.outerHeight(true)), 361 $lastChild, 362 keepLooking, 363 $moreItem, 364 $moreLink, 365 numToRemove, 366 allInPopup = false, 367 $menu, 368 i; 369 370 function needsMenu($itemOfInterest) { 371 if($itemOfInterest !== undefined) { 372 if((Math.ceil($itemOfInterest.offset().top)) >= (firstItemTop + firstItemHeight)) 373 return true; 374 else return false; 375 } else return false; 376 377 } 378 if(needsMenu($lastItem) && numItems > plugin.settings.transformThreshold && !undo && $this.is(':visible')) { 379 if(windowWidth() > plugin.settings.mobileWidth) { 380 var $popup = $('<ul class="transform-submenu nav-dropdown nav-submenu m-0 p-0 flex-column mobile-level ' + plugin.settings.transformTheme + '"></ul>'); 381 $popup.addClass(''); 382 for(i = numItems; i > 1; i--) { 383 $lastChild = $this.find('> li:last-child'); 384 keepLooking = (needsMenu($lastChild)); 385 if((i - 1) <= plugin.settings.transformCutoff) { 386 $(this.children().get().reverse()).appendTo($popup); 387 allInPopup = true; 388 break; 389 } 390 if(!keepLooking) { 391 break; 392 } else { 393 $lastChild.appendTo($popup); 394 } 395 } 396 if(allInPopup) { 397 $this.append('<li class="menu-item nav-item transform-allInPopup"><a href="#" class="btn-transform ' + 398 plugin.settings.transformEffectHover + ' ' + plugin.settings.transformPaddingOne + '">' + 399 plugin.settings.iconMenu + '</a></li>'); 400 } else { 401 $this.append('<li class="menu-item nav-item"><a href="#" class="btn-transform item-link ' + 402 plugin.settings.transformEffectHover + ' ' + plugin.settings.transformPaddingOne + '"><span class="item-icon">' + 403 plugin.settings.iconMenu + '</span></a></li>'); 404 } 405 $moreItem = $this.find('> li.menu-item');//.find('.mobile-level'); 406 407 if(needsMenu($moreItem)) { 408 $this.find('> li:nth-last-child(2)').appendTo($popup); 409 } 410 411 $popup.children().each(function(i, li) { 412 $popup.prepend(li); 413 }); 414 $moreItem.append($popup); 415 $moreLink = $this.find('> li.menu-item > a'); 416 $moreLink.click(function(e) { 417 var $activeMenus, 418 $menusToCollapse; 419 $activeMenus = $('li.menu-item.active'); 420 $menusToCollapse = $activeMenus.not($moreItem); 421 $menusToCollapse.removeClass('active').find('> ul').css('display', 'none'); 422 $popup.toggle(); 423 $moreItem.toggleClass('active'); 424 e.preventDefault(); 425 }); 426 } 427 else if(windowWidth() <= (plugin.settings.mobileWidth)) { 428 $menu = $this.find('ul.transform-submenu'); 429 numToRemove = $menu.find('li').length; 430 for(i = 1; i <= numToRemove; i++) { 431 $menu.find('> li:first-child').appendTo($this); 432 } 433 $menu.remove(); 434 $this.find('> li.menu-item').remove(); 435 } 436 } 437 else if (undo && $this.find('ul.transform-submenu')) { 438 if(windowWidth() > (plugin.settings.mobileWidth)) { 439 $menu = $this.find('ul.transform-submenu'); 440 numToRemove = $menu.find('li').length; 441 for(i = 1; i <= numToRemove; i++) { 442 $menu.find('> li:first-child').appendTo($this); 443 } 444 $menu.remove(); 445 $this.find('> li.menu-item').remove(); 446 } 447 } 448 }; 449 // ========= FIXED.MENU ========= // 450 var fixedMode = function() { 451 452 var navF = document.querySelector(plugin.settings.fixedId), 453 location = navF.getBoundingClientRect(), 454 locationStart = plugin.settings.topSpace ? plugin.settings.topSpace : 0, 455 classF = plugin.settings.fixedClass ? new String(plugin.settings.fixedClass) : "fixed-top"; 456 classF += " transition"; 457 var arrClassF = classF.split(" "), 458 lastScroll = 0; 459 460 461 if(location.y < locationStart) { 462 for(var k = 0; k < arrClassF.length; k++) navF.classList.add(arrClassF[k]); 463 navF.style.top = 0; 464 } else for(var k = 0; k < arrClassF.length; k++) navF.classList.remove(arrClassF[k]); 465 466 document.addEventListener("scroll", function(e) { 467 var location = navF.getBoundingClientRect(), 468 locationContainer = navF.parentNode.getBoundingClientRect(); 469 if(location.y < locationStart) { 470 for(var k = 0; k < arrClassF.length; k++) navF.classList.add(arrClassF[k]); 471 navF.style.top = '0'; 472 } else if(location.y <= locationContainer.y) for(var k = 0; k < arrClassF.length; k++) navF.classList.remove(arrClassF[k]); 473 474 475 }); 476 }; 477 478 var leftCatalog = function() { 479 $(element).children("ul").find("span.submenu-indicator").bind("click touchend", function(e) { 480 e.stopPropagation(); 481 e.preventDefault(); 482 if($(this).parent().siblings('div.catalog-submenu').children(".submenu").length > 0) { 483 if($(this).parent().siblings('div.catalog-submenu').children(".submenu").css("display") == "none") { 484 $(this).parent().siblings('div.catalog-submenu').children(".submenu").css('display', 'block'); 485 $(this).parent().parent().parent().children(".submenu").css('display', 'none'); 486 $(this).parent().parent().parent().children(".submenu").siblings("a").removeClass("submenu-indicator-minus"); 487 $(this).parent().parent().parent().children(".submenu").siblings("a").children('i').css('transform', 'rotate(-90deg)'); 488 $(this).children('i').css('transform', 'rotate(0deg)'); 489 $(this).addClass("submenu-indicator-minus"); 490 return false; 491 } 492 else { 493 $(this).parent().siblings('div.catalog-submenu').children(".submenu").delay(0).slideUp(0); 494 } 495 if($(this).hasClass("submenu-indicator-minus")) { 496 $(this).removeClass("submenu-indicator-minus"); 497 $(this).children('i').css('transform', 'rotate(-90deg)'); 498 } 499 } 500 }); 501 } 502 503//========== ========= // 504 505// ========= END FIXED.MENU ========= // 506// ========= MOBILE.PUSH.MENU ========= // 507 var mobileMode = function() { 508 var $this = $(element), 509 $level = $this.find('> .mobile-level'), 510 i = 0; 511 function initEventClick(el, levelM) { 512 if($(el).attr('data-level') === levelM) { 513 514 $(el).parent().parent().find('> li').find('> a').each(function() { 515 if(this.querySelector('.item-icon')) { 516 517 $(this).on('click touchstart', function(e) { 518 plugin.settings.positionY = $(this).position().top; 519 }); 520 521 $(this).on('click touchend', function(e) { 522 e.stopPropagation(); 523 e.preventDefault(); 524 if(Math.abs(plugin.settings.positionY - $(this).position().top)<10){ 525 526 var mLevel = this.parentNode.querySelector('.mobile-level'); 527 mLevel.style.transitionProperty = 'left'; 528 mLevel.classList.add('open-mobile'); 529 var back = function() { 530 $(mLevel).removeClass("open-mobile") 531 .on("webkitTransitionEnd moztransitionend transitionend oTransitionEnd", function(){ 532 $(element).find(".mobile-level") 533 .off(); 534 });
535 } 536 mLevel.querySelector('a').addEventListener('click', back); 537 538 } 539 }); 540 } 541 }); 542 543 } 544 } 545 546 function levelInc(i, el) { 547 i++; 548 var levelSub = $(el).children('ul') 549 .children('li') 550 .children('.mobile-level'); 551 if(levelSub.length > 0) { 552 $(levelSub).attr('data-level', 'level-mobile-' + i); 553 $(levelSub).each(function() { 554 levelInc(i, this); 555 }); 556 initEventClick(levelSub, 'level-mobile-' + i); 557 } 558 return 0; 559 } 560 561 if($level.length > 0) { 562 $level.each(function() { 563 i++; 564 $(this).attr('data-level', 'level-mobile-' + i); 565 /*if(this.classList.contains('d-flex')) { 566 this.classList.remove('d-flex'); 567 $(this).children('ul').removeClass('container'); 568 }*/ 569 levelInc(i, this); 570 }); 571 } 572 573 574 }; 575 576 /*var horizontalMode = function() { 577 578 var ul = $(element).find('.nav-submenu'); 579 var ulT = $(element).find('.transform-submenu'); 580 581 var ulHeight = ulT.height() || 0; 582 583 $(ul).each(function() { 584 if($(this).height() > ulHeight) ulHeight = $(this).height(); 585 }); 586 587 588 if(windowWidth() > 767) { 589 590 if(ulT !== undefined) 591 $(ulT).css('height', ulHeight); 592 593 $(ul).each(function() { 594 $(this).css('height', ulHeight); 595 }); 596 597 598 599 var $this = $(element), 600 $level = $this.find('> .mobile-level'), 601 i = 0; 602 603 function initEventClick(el, levelM) { 604 if($(el).attr('data-level') == levelM && $(el).attr('data-level') !== 'level-mobile-1') { 605 var dataLevel = $(el).parent().parent(); 606 607 if($(dataLevel).attr('data-level') !== 'level-mobile-1') { 608 609 $(dataLevel).find('> li').find('> a').each(function() { 610 611 $(this).on('click touchend', function(e) { 612 e.stopPropagation(); 613 e.preventDefault(); 614 var mLevel = this.parentNode.querySelector('.mobile-level'); 615 mLevel.style.transitionProperty = 'left'; 616 mLevel.classList.add('open-horizontal'); 617 var back = function() { 618 $(mLevel).removeClass("open-horizontal") 619 .on("webkitTransitionEnd moztransitionend transitionend oTransitionEnd", function(){ 620 $(element).find(".mobile-level") 621 .off(); 622 }); 623 } 624 mLevel.querySelector('a').addEventListener('click', back); 625 }); 626 627 }); 628 } 629 else { 630 $(dataLevel).find('> li').find('> a').each(function() { 631 $(this).unbind('click'); 632 }); 633 } 634 635 636 } 637 } 638 639 function levelInc(i, el) { 640 i++; 641 if($(el).hasClass('transform-submenu')) { 642 var levelSub = $(el).children('li') 643 .children('.mobile-level'); 644 $(el).attr('data-level', 'level-mobile-' + (i - 1)); 645 } else { 646 var levelSub = $(el).children('ul') 647 .children('li') 648 .children('.mobile-level'); 649 $(el).find('> ul').attr('data-level', 'level-mobile-' + (i - 1)); 650 } 651 652 653 if(levelSub.length > 0) { 654 $(levelSub).attr('data-level', 'level-mobile-' + i); 655 $(levelSub).each(function() { 656 levelInc(i, this); 657 }); 658 initEventClick(levelSub, 'level-mobile-' + i); 659 } 660 return 0; 661 } 662 663 if($level.length > 0) { 664 $level.each(function() { 665 i++; 666 $(this).attr('data-level', 'level-mobile-' + i); 667 levelInc(i, this); 668 }); 669 } 670 671 } else { 672 if(ulT !== undefined) 673 $(ulT).css('heigth', '100%'); 674 $(ul).each(function() { 675 $(this).css('height', '100%'); 676 }); 677 } 678 679 };*/ 680// ========= END MOBILE.PUSH.MENU ========= // 681 682// ========= WINDOW WIDTH ========= // 683 var windowWidth = function() { 684 return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; 685 }; 686// ========= WINDOW HEIGHT ========= // 687 var windowHeight = function() { 688 return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; 689 }; 690 691 plugin.init(); 692 }; 693 694 $.fn.sfNavMulti = function(options) { 695 return this.each(function() { 696 if(undefined === $(this).data('sfNavMulti')) { 697 var plugin = new $.sfNavMulti(this, options); 698 $(this).data('sfNavMulti', plugin); 699 } 700 }); 701 }; 702 703})(jQuery, window, document);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.