PluginProbe ʕ •ᴥ•ʔ
My Sticky Bar – Floating Notification Bar & Sticky Header (formerly myStickymenu) / 1.6
My Sticky Bar – Floating Notification Bar & Sticky Header (formerly myStickymenu) v1.6
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 / mystickymenu.js
mystickymenu Last commit date
mystickymenu.css 12 years ago mystickymenu.js 11 years ago mystickymenu.php 12 years ago readme.txt 11 years ago
mystickymenu.js
48 lines
1 //disable at small screen sizes
2 var myfixed_disable_small = parseInt(mysticky_name.mysticky_disable_at_width_string);
3 var mybodyWidth = parseInt(document.body.clientWidth);
4
5 if (mybodyWidth >= myfixed_disable_small) {
6 // select mysticky class
7 var mysticky_navbar = document.querySelector(mysticky_name.mysticky_string);
8
9 // add mysticky_wrap div around selected mysticky class
10 var parentmysticky = mysticky_navbar.parentNode;
11 var wrappermysticky = document.createElement('div');
12 var position = 0;
13 for(var i = 0; i < parentmysticky.childNodes.length; i++) {
14 if(parentmysticky.childNodes[i] == mysticky_navbar) {
15 position = i;
16 break;
17 };
18 };
19 wrappermysticky.id = 'mysticky-wrap';
20 wrappermysticky.appendChild(mysticky_navbar);
21 parentmysticky.insertBefore(wrappermysticky, parentmysticky.childNodes[position]);
22
23 // add mysticky_nav div inside selected mysticky class
24 var parentnav = mysticky_navbar.parentNode;
25 var wrappernav = document.createElement('div');
26 wrappernav.id = 'mysticky-nav';
27 parentnav.replaceChild(wrappernav, mysticky_navbar);
28 wrappernav.appendChild(mysticky_navbar);
29
30 // add myfixed and wrapfixed class to divs while scroll
31 var mysticky_active_on_height = parseInt(mysticky_name.mysticky_active_on_height_string) ;
32 var origOffsetY = mysticky_active_on_height ;
33 var mydivHeight = ((mysticky_navbar.offsetHeight) + 'px');
34
35 var hasScrollY = 'scrollY' in window;
36 function onScroll(e) {
37 var mydivWidth = ((mysticky_navbar.offsetWidth) + 'px');
38 var mydivReset = '';
39
40 var y = hasScrollY ? window.scrollY : document.documentElement.scrollTop;
41 y >= origOffsetY ? mysticky_navbar.classList.add('myfixed') : mysticky_navbar.classList.remove('myfixed');
42 y >= origOffsetY ? wrappernav.classList.add('wrapfixed') : wrappernav.classList.remove('wrapfixed');
43 y >= origOffsetY ? mysticky_navbar.style.width = mydivWidth : mysticky_navbar.style.width = mydivReset;
44 y >= origOffsetY ? wrappermysticky.style.height = mydivHeight : wrappermysticky.style.height = mydivReset;
45 }
46
47 document.addEventListener('scroll', onScroll);
48 };