PageSourceSearch

https://romanova-travel.ru/templates/landmag/js/js_st1hor.js

js romanova-travel.ru collected 2026-10-07 23:25:37 UTC 3,761 bytes, 78 lines download raw bytes

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.