PageSourceSearch

https://www.ufuk.edu.tr/assets/js/menu.js?ver=1.1

js ufuk.edu.tr collected 2026-10-02 14:36:53 UTC 3,759 bytes, 90 lines download raw bytes

1(function($) {
2  $.fn.menumaker = function(options) {
3      var cssmenu = $(this), previousWidth = $(window).width(), settings = $.extend({
4        title: "",
5        format: "multitoggle",
6        sticky: false
7        }, options);
8              return this.each(function() {
9                cssmenu.prepend('<div id="menu-button">' + settings.title + '</div>');
10
11                $('#menu-button').attr({
12                  'aria-label': 'Menüyü aç/kapat',
13                  'aria-expanded': 'false'
14                });
15
16                $(this).find("#menu-button").on('click', function(){
17                  $(this).toggleClass('menu-opened');
18                  var mainmenu = $(this).next('ul');
19                  if (mainmenu.hasClass('open')) {
20                    mainmenu.hide().removeClass('open');
21                    $(this).attr('aria-expanded', 'false');
22                  }
23                  else {
24                    mainmenu.show().addClass('open');
25                    $(this).attr('aria-expanded', 'true');
26                    if (settings.format === "dropdown") {
27                      mainmenu.find('ul').show();
28                    }
29                  }
30                });
31
32                cssmenu.find('li ul').parent().addClass('has-sub');
33
34                multiTg = function() {
35                  // span yerine button: aria-* özellikleri interaktif elementlerde olmalı (WCAG 4.1.2)
36                  cssmenu.find(".has-sub").prepend('<button type="button" class="submenu-button" aria-label="Alt menüyü aç/kapat" aria-haspopup="true" aria-expanded="false"></button>');
37
38                  cssmenu.find('.submenu-button').on('click', function() {
39                    var isOpen = $(this).siblings('ul').hasClass('open');
40                    $(this).toggleClass('submenu-opened');
41                    // aria-expanded dinamik güncelle
42                    $(this).attr('aria-expanded', isOpen ? 'false' : 'true');
43                    $(this).siblings('a').attr('aria-expanded', isOpen ? 'false' : 'true');
44
45                    if (isOpen) {
46                      $(this).siblings('ul').removeClass('open').hide();
47                    }
48                    else {
49                      $(this).siblings('ul').addClass('open').show();
50                    }
51                  });
52                };
53
54                if (settings.format === 'multitoggle') multiTg();
55                else cssmenu.addClass('dropdown');
56
57                if (settings.sticky === true) cssmenu.css('position', 'fixed');
58
59                resizeFix = function() {
60                  if($(window).width() == previousWidth) return;
61
62                  if ($(window).width() > 1249) {
63                    cssmenu.find('ul').show();
64                    cssmenu.find('.submenu-button').attr('aria-expanded', 'false').removeClass('submenu-opened');
65                    cssmenu.find('.has-sub > a').attr('aria-expanded', 'false');
66                    cssmenu.find('#menu-button').attr('aria-expanded', 'false');
67                  }
68
69                  if ($(window).width() <= 1249) {
70                    cssmenu.find('ul').hide().removeClass('open');
71                    cssmenu.find('.submenu-button').attr('aria-expanded', 'false').removeClass('submenu-opened');
72                    cssmenu.find('.has-sub > a').attr('aria-expanded', 'false');
73                    cssmenu.find('#menu-button').attr('aria-expanded', 'false');
74                  }
75                };
76
77                resizeFix();
78                return $(window).on('resize', resizeFix);
79              });
80          };
81})(jQuery);
82
83(function($){
84    $(document).ready(function(){
85        $("#cssmenu").menumaker({
86           title: "",
87           format: "multitoggle"
88        });
89    });
90})(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.