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