PluginProbe ʕ •ᴥ•ʔ
My Sticky Bar – Floating Notification Bar & Sticky Header (formerly myStickymenu) / 1.9
My Sticky Bar – Floating Notification Bar & Sticky Header (formerly myStickymenu) v1.9
2.9.1 2.9.0 2.8.9 2.8.8 trunk 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 2.0 2.0.1 2.0.3 2.0.4 2.0.5 2.0.6 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.6.6 2.6.7 2.6.8 2.6.9 2.7 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7
mystickymenu / js / mystickymenu.js
mystickymenu / js Last commit date
iris-script.js 11 years ago mystickymenu.js 8 years ago mystickymenu.min.js 8 years ago
mystickymenu.js
77 lines
1 /*!
2 * myStickymenu by m.r.d.a
3 * v1.8.7
4 */
5
6 (function( $ ) {
7 'use strict';
8
9 //jQuery(window).on("load", function($){
10 //jQuery(document).ready(function($){
11
12 //disable at small screen sizes
13 var myfixed_disable_small = parseInt(mysticky_name.mysticky_disable_at_width_string);
14 var mybodyWidth = parseInt(document.body.clientWidth);
15
16 if (mybodyWidth >= myfixed_disable_small) {
17
18
19 // select mysticky class
20 var mysticky_navbar = document.querySelector(mysticky_name.mysticky_string);
21
22 // add mysticky_wrap div around selected mysticky class
23 var parentmysticky = mysticky_navbar.parentNode;
24
25 var wrappermysticky = document.createElement('div');
26 var position = 0;
27 for(var i = 0; i < parentmysticky.childNodes.length; i++) {
28 if(parentmysticky.childNodes[i] == mysticky_navbar) {
29 position = i;
30 break;
31 }
32 }
33 wrappermysticky.id = 'mysticky-wrap';
34 wrappermysticky.appendChild(mysticky_navbar);
35 parentmysticky.insertBefore(wrappermysticky, parentmysticky.childNodes[position]);
36
37 // add mysticky_nav div inside selected mysticky class
38 var parentnav = mysticky_navbar.parentNode;
39 var wrappernav = document.createElement('div');
40 wrappernav.id = 'mysticky-nav';
41 parentnav.replaceChild(wrappernav, mysticky_navbar);
42 wrappernav.appendChild(mysticky_navbar);
43
44 // add myfixed and wrapfixed class to divs while scroll
45 var mysticky_active_on_height = parseInt(mysticky_name.mysticky_active_on_height_string) ;
46 var origOffsetY = mysticky_active_on_height ;
47
48 var hasScrollY = 'scrollY' in window;
49
50 function onScroll(e) {
51 var mydivHeight = ((mysticky_navbar.offsetHeight) + 'px');
52 var mydivWidth = ((mysticky_navbar.offsetWidth) + 'px');
53 var mydivReset = '';
54
55 var y = hasScrollY ? window.scrollY : document.documentElement.scrollTop;
56 y >= origOffsetY ? mysticky_navbar.classList.add('myfixed') : mysticky_navbar.classList.remove('myfixed');
57 y >= origOffsetY ? wrappernav.classList.add('wrapfixed') : wrappernav.classList.remove('wrapfixed');
58 y >= origOffsetY ? mysticky_navbar.style.width = mydivWidth : mysticky_navbar.style.width = mydivReset;
59 y >= origOffsetY ? wrappermysticky.style.height = mydivHeight : wrappermysticky.style.height = mydivReset;
60 }
61
62 document.addEventListener('scroll', onScroll);
63
64 function OnResizeDocument () {
65 mysticky_navbar.style.removeProperty("width");
66 mysticky_navbar.classList.remove('myfixed');
67 wrappernav.classList.remove('wrapfixed');
68 wrappermysticky.style.removeProperty("width");
69 parentnav.style.removeProperty("height");
70
71 }
72
73 window.addEventListener('resize', OnResizeDocument);
74 }
75 //});
76
77 })(jQuery);