PageSourceSearch

https://www.fredolsen.es/web/js/vsf-menu.js

js fredolsen.es collected 2026-10-02 03:06:01 UTC 3,534 bytes, 103 lines download raw bytes

1/**
2 * Clase que controla los menus
3 */
4var VsfMenu = Class.extend({
5    options: null,
6    log: function(msg, obj){
7        if(this.options.debug) {
8            console.log("VsfMenu(): " + msg);
9            if (obj !== undefined && obj !== null) {
10                console.log(obj);
11            }
12        }
13    },
14    /**
15     * Muestra/oculta el menu
16     */
17    toggle: function(){
18        this.log("toggle()");
19        var me = this;
20
21        if($(me.options.id).hasClass("show")){
22            $(me.options.id).removeClass("show");
23            $(".vsfMenuOverlay[data-overlay='"+me.options.id+"']").removeClass("show");
24
25            setTimeout(function(){
26                $(me.options.id).hide();
27            }, 360);
28
29        }else{
30
31            $(me.options.id).css("height", $("body").height());
32            $(me.options.id).show();
33
34            $(me.options.id).addClass("show");
35            $(".vsfMenuOverlay[data-overlay='"+me.options.id+"']").addClass("show");
36        }
37
38    },
39    /**
40     * Inicializa la clase
41     */
42    init: function(options){
43        //Opciones por defecto
44        this.options = {
45            debug: false,
46            id: "#vsfMenu",
47            position: "left"
48        };
49
50        this.log("init()", options);
51        var me = this;
52
53        //Establecemos las opciones
54        if(options===Object(options)) {
55            for(var property in options){
56                if (options.hasOwnProperty(property)) {
57                    me.options[property] = options[property];
58                }
59            }
60        }
61
62        //Posicion del meu
63        $(me.options.id).addClass("position-"+me.options.position);
64
65        //Overlay
66        $(me.options.id).after("<div data-overlay='"+me.options.id+"' class='vsfMenuOverlay'></div>");
67
68        $(".vsfMenuOverlay[data-overlay='"+me.options.id+"']").click(function(){
69            me.toggle();
70            return false;
71        });
72
73        //Click cerrar
74        $(me.options.id+" .close").click(function(){
75            me.toggle();
76            return false;
77        });
78
79        if ($('#menuMovil').length > 0) {
80            $("#menuMovil .menu").click(function(){
81                var classText = $(this).find("i").attr('class');
82                var arrowClassUp= "fa-chevron-up";
83                var arrowClassDown= "fa-chevron-down";
84                console.log($(this).closest(".info_group").find(".submenus div:last-child li:last-child"));
85
86                if (classText.includes(arrowClassDown)) {
87                    newClass = "fa "+arrowClassUp;
88                    $(this).closest(".info_group").next().addClass("line");
89                    $(this).closest(".info_group").find(".submenus").stop().slideDown();
90                    $(this).find("i").removeClass(classText).addClass(newClass);
91                    $(this).closest(".info_group").find(".submenus div:last-child li:last-child").addClass("borderbottom");
92                }
93                else {
94                    newClass = "fa "+arrowClassDown;
95                    $(this).closest(".info_group").find(".submenus").stop().slideUp();
96                    $(this).closest(".info_group").next().removeClass("line");
97                    $(this).find("i").removeClass(classText).addClass(newClass);
98                    $(this).closest(".info_group").find(".submenus div:last-child li:last-child").removeClass("borderbottom");
99                }
100            });
101        }
102    }
103});

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.