PageSourceSearch

https://tienda.lafabrica.com/modules/iqitmegamenu/views/js/front.js

js lafabrica.com collected 2026-09-24 18:32:05 UTC 8,647 bytes, 278 lines download raw bytes

1/**
2* 2014-2017 IQIT-COMMERCE.COM
3*
4* NOTICE OF LICENSE
5*
6*  @author    IQIT-COMMERCE.COM <[email protected]>
7*  @copyright 2007-2017 IQIT-COMMERCE.COM
8*  @license   GNU General Public License version 2
9*
10* You can not resell or redistribute this software.
11* 
12*/
13
14// classie - class helper functions, from bonzo https://github.com/ded/bonzo
15
16!function(a){"use strict";function b(a){return new RegExp("(^|\\s+)"+a+"(\\s+|$)")}function f(a,b){var f=c(a,b)?e:d;f(a,b)}var c,d,e;"classList"in document.documentElement?(c=function(a,b){return a.classList.contains(b)},d=function(a,b){a.classList.add(b)},e=function(a,b){a.classList.remove(b)}):(c=function(a,c){return b(c).test(a.className)},d=function(a,b){c(a,b)||(a.className=a.className+" "+b)},e=function(a,c){a.className=a.className.replace(b(c)," ")});var g={hasClass:c,addClass:d,removeClass:e,toggleClass:f,has:c,add:d,remove:e,toggle:f};"function"==typeof define&&define.amd?define(g):a.classie=g}(window);
17
18//hover intent
19(function($){$.fn.hoverIntent=function(handlerIn,handlerOut,selector){var cfg={interval:100,sensitivity:6,timeout:0};if(typeof handlerIn==="object"){cfg=$.extend(cfg,handlerIn)}else{if($.isFunction(handlerOut)){cfg=$.extend(cfg,{over:handlerIn,out:handlerOut,selector:selector})}else{cfg=$.extend(cfg,{over:handlerIn,out:handlerIn,selector:handlerOut})}}var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if(Math.sqrt((pX-cX)*(pX-cX)+(pY-cY)*(pY-cY))<cfg.sensitivity){$(ob).off("mousemove.hoverIntent",track);ob.hoverIntent_s=true;return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=false;return cfg.out.apply(ob,[ev])};var handleHover=function(e){var ev=$.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t)}if(e.type==="mouseenter"){pX=ev.pageX;pY=ev.pageY;$(ob).on("mousemove.hoverIntent",track);if(!ob.hoverIntent_s){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}}else{$(ob).off("mousemove.hoverIntent",track);if(ob.hoverIntent_s){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob)},cfg.timeout)}}};return this.on({"mouseenter.hoverIntent":handleHover,"mouseleave.hoverIntent":handleHover},cfg.selector)}})(jQuery);
20
21//double tap
22;(function(e,t,n,r){e.fn.doubleTapToGo=function(r){if(!("ontouchstart"in t)&&!navigator.msMaxTouchPoints&&!navigator.userAgent.toLowerCase().match(/windows phone os 7/i))return false;this.each(function(){var t=false;e(this).on("click",function(n){var r=e(this);if(r[0]!=t[0]){n.preventDefault();t=r}});e(n).on("click touchstart MSPointerDown",function(n){var r=true,i=e(n.target).parents();for(var s=0;s<i.length;s++)if(i[s]==t[0])r=false;if(r)t=false})});return this}})(jQuery,window,document);
23
24var cbpHorizontalMenu, cbpVerticalmenu;
25
26$(document).ready(function(){
27
28  cbpHorizontalMenu = (function() {
29
30    var menuId = '#cbp-hrmenu',
31        $listItems = $( menuId + '> ul > li'  ),
32        $menuItems = $listItems.children( 'a, .cbp-main-link' ),
33        $innerTabs = $( menuId + ' .cbp-hrsub-tabs-names li > a'  ),
34        $body = $( 'body' ),
35        $header = $( '#desktop-header-container' ),
36        current = -1;
37    currentlevel = -1;
38
39    $listItems.has('ul').find(' > a').doubleTapToGo();
40
41    function init() {
42      var isTouchDevice = 'ontouchstart' in document.documentElement;
43      if( isTouchDevice ) {
44        $menuItems.on( 'mouseover', open );
45      }
46      else{
47        $menuItems.hoverIntent( {
48          over: open,
49          out: dnthing,
50          interval: 30
51        } );
52      }
53
54      $listItems.on( 'mouseover', function( event ) { event.stopPropagation(); } );
55
56      $innerTabs.hover( function(){
57        $innerTabs.removeClass('active');
58        $(this).tab('show');
59      });
60    }
61
62    var setCurrent = function(strName) {
63      current = strName;
64    };
65
66    function dnthing( event ) {
67
68    }
69
70    function open( event ) {
71
72      $othemenuitem = $('#cbp-hrmenu1').find('.cbp-hropen');
73
74
75      $othemenuitem.find('.cbp-hrsub').removeClass('cbp-show');
76      $othemenuitem.removeClass( 'cbp-hropen' );
77
78      cbpVerticalmenu.setCurrent(-1);
79
80      var $item = $( event.currentTarget ).parent( 'li' ),
81          idx = $item.index();
82
83
84      $submenu = $item.find('.cbp-hrsub');
85
86      if(current == idx )
87        return;
88
89      $submenu.removeClass('cbp-notfit');
90      $submenu.removeClass('cbp-show');
91
92      if( current !== -1 ) {
93        $listItems.eq( current ).removeClass( 'cbp-hropen' );
94      }
95
96      if( current === idx ) {
97        $item.removeClass( 'cbp-hropen' );
98        current = -1;
99
100      }
101      else {
102        $submenu.addClass( 'cbp-show' );
103        iqitmenuwidth = $header.width();
104        iqititemposition = $item.offset().left - $header.offset().left;
105
106        if((iqitmenuwidth-iqititemposition)<=$submenu.width())
107        {
108          $submenu.addClass( 'cbp-notfit' );
109        }
110
111        $item.addClass( 'cbp-hropen' );
112        current = idx;
113        $body.off( 'mouseover' ).on( 'mouseover', close );
114      }
115
116
117
118      return false;
119
120    }
121
122    function close( event ) {
123      $listItems.eq( current ).removeClass( 'cbp-hropen' );
124      current = -1;
125    }
126
127    return { init : init,
128      setCurrent: setCurrent
129    };
130
131  })();
132
133  cbpHorizontalMenu.init();
134
135});
136
137$(document).ready(function(){
138
139  $('.cbp-vertical-on-top').on( 'mouseover', function() {
140    $(this).addClass('cbp-vert-expanded');
141  });
142
143  $('.cbp-vertical-on-top').on( 'mouseleave', function() {
144    $(this).removeClass('cbp-vert-expanded');
145  });
146
147
148
149  cbpVerticalmenu = (function(test) {
150
151    var menuId = '#cbp-hrmenu1-ul',
152        $listItems = $( menuId + ' > li'  ),
153        $menuItems = $listItems.children( 'a' ),
154        $innerTabs = $( menuId + ' .cbp-hrsub-tabs-names li > a'  ),
155        $body = $( 'body' ),
156        current = -1,
157        currentlevel = -1;
158
159    $listItems.has('ul').find(' > a').doubleTapToGo();
160
161
162
163    function init() {
164
165      var isTouchDevice = 'ontouchstart' in document.documentElement;
166      if( isTouchDevice ) {
167        $menuItems.on( 'mouseover', open );
168      }
169      else{
170        $menuItems.hoverIntent( {
171          over: open,
172          out: dnthing,
173          interval: 30
174        } );
175      }
176
177      $listItems.on( 'mouseover', function( event ) { event.stopPropagation(); } );
178
179      $innerTabs.hover( function(){
180        $innerTabs.removeClass('active');
181        $(this).tab('show');
182      });
183
184      $( window ).resize(function() {
185        $('cbp-hrmenu-tab').not('.cbp-hropen').find( '.cbp-hrsub-wrapper' ).removeAttr( 'style' );
186      });
187    }
188
189    function dnthing( event ) {
190
191    }
192
193    var setCurrent = function(strName) {
194      current = strName;
195    };
196
197    function open( event ) {
198
199
200      $othemenuitem = $('#cbp-hrmenu').find('.cbp-hropen');
201
202      $othemenuitem.find('.cbp-hrsub').removeClass('cbp-show');
203      closeElement($othemenuitem);
204
205      cbpHorizontalMenu.setCurrent(-1);
206
207      var $item = $( event.currentTarget ).parent( 'li' ),
208          idx = $item.index();
209
210      if(current == idx )
211        return;
212
213      $submenu = $item.find('.cbp-hrsub');
214      $submenu.removeClass('cbp-show');
215
216      if( current !== -1 ) {
217        closeElement($listItems.eq( current ));
218      }
219
220      if( current === idx ) {
221        closeElement($item);
222        current = -1;
223      }
224      else {
225        $submenu.parent().width($(iqitmegamenu.containerSelector).width()-$(menuId).width());
226        callerHeight = $item.height();
227        $submenu.parent().css( { marginLeft : $item.innerWidth()+"px", marginRight : $item.innerWidth()+"px", marginTop : -callerHeight+"px" } );
228        $submenu.addClass( 'cbp-show' );
229        $item.addClass( 'cbp-hropen' );
230        current = idx;
231        $body.off( 'mouseover' ).on( 'mouseover', close );
232      }
233
234      return false;
235    }
236
237    function close( event ) {
238      closeElement($listItems.eq( current ));
239      current = -1;
240    }
241
242    function closeElement( $element ) {
243      $element.removeClass( 'cbp-hropen' );
244    }
245
246    return { init : init,
247      setCurrent: setCurrent
248    };
249
250  })();
251
252  cbpVerticalmenu.init();
253
254});
255
256
257$(document).ready(function(){
258
259  var iqitMobileMenu = (function() {
260
261    var $menu = $('#iqitmegamenu-mobile');
262    var $expander = $menu.find('.mm-expand');
263
264    $menu.on('click', function (e) {
265      e.stopPropagation()
266    });
267
268    $expander.on('click', function () {
269      $(this).parent().toggleClass('show');
270    });
271  });
272
273  iqitMobileMenu();
274  
275});
276
277
278

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.