1/*********Ð¼ÐµÐ½Ñ st2hor**********/ 2 3(function($){ 4 $.fn.liMenuHor = function(params){ 5 var p = $.extend({ 6 }, params); 7 return this.each(function(){ 8 var menuWrap = $(this); 9 var menuWrapWidth = menuWrap.outerWidth(); 10 var menuWrapLeft = menuWrap.offset().left; 11 var menuSub = menuWrap.children('li').children('ul') 12 var menuSubSub = $('ul',menuSub); 13 menuSub.each(function(){ 14 var mSub = $(this); 15 var mList = $(this).closest('li'); 16 var mLink = mList.children('a'); 17 var mArrow = $('<div>').addClass('arrow-up').prependTo(mSub); 18 var mArrow2 = $('<div>').addClass('arrow-up2').prependTo(mSub); 19 mLink.on('mouseenter',function(){ 20 var mArrowLeft = mLink.outerWidth()/2 - 5 21 var mSubLeft = mLink.position().left; 22 mSub.css({top:mLink.outerHeight()}); 23 sum1 = mSubLeft + mSub.outerWidth(); 24 if(sum1 > menuWrapWidth){ 25 mSubLeft = mSubLeft - (sum1 - menuWrapWidth); 26 mArrowLeft = mArrowLeft + sum1 - menuWrapWidth; 27 mSub.addClass('toLeft') 28 } 29 mArrow.css({left:mArrowLeft}); 30 mArrow2.css({left:mArrowLeft}) 31 mSub.css({left:mSubLeft}); 32 mSub.show() ; 33 mLink.addClass('active') 34 }) 35 mList.on('mouseleave',function(){ 36 mSub.hide() ; 37 mLink.removeClass('active') 38 }) 39 }) 40 menuSubSub.each(function(){ 41 var mSubSub = $(this); 42 var mSubList = mSubSub.closest('li'); 43 var mSubLink = mSubList.children('a'); 44 var mSubArrow = $('<div>').addClass('arrow-left').prependTo(mSubSub); 45 var mSubArrow2 = $('<div>').addClass('arrow-left2').prependTo(mSubSub); 46 mSubLink.on('mouseenter',function(){ 47 mSubArrow.css({top:mSubLink.outerHeight()/2 - 5}); 48 mSubArrow2.css({top:mSubLink.outerHeight()/2 - 5}); 49 var mSubSubLeft = mSubLink.position().left + mSubLink.outerWidth() 50 mSubSub.css({top:(mSubLink.position().top - (mSubLink.closest('ul').outerWidth()-mSubLink.closest('ul').width())/2)}); 51 mSubSub.css({left:mSubSubLeft}); 52 mSubSub.show(); 53 var w3 = (menuWrapLeft + menuWrapWidth); 54 var w6 = (mSubSub.offset().left + mSubSub.outerWidth()); 55 if(w6 >= w3){ 56 mSubSub.closest('ul').addClass('toLeft') 57 mSubSubLeft = -mSubSub.outerWidth() 58 } 59 if(mSubSub.parents('ul').hasClass('toLeft')){ 60 mSubSubLeft = -mSubSub.outerWidth() 61 } 62 mSubSub.css({left:mSubSubLeft}); 63 mSubLink.addClass('active') 64 }) 65 mSubList.on('mouseleave',function(){ 66 mSubSub.hide(); 67 mSubLink.removeClass('active') 68 }) 69 }) 70 menuWrapWidth = menuWrap.outerWidth(); 71 menuWrapLeft = menuWrap.offset().left; 72 $(window).resize(function(){ 73 menuWrapWidth = menuWrap.outerWidth(); 74 menuWrapLeft = menuWrap.offset().left; 75 }) 76 }); 77 }; 78})(jQuery);
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.