Version Description
- Improved: Improved performance and optimized scripts.
Download this release
Release Info
Developer | damiroquai |
Plugin | myStickymenu |
Version | 1.8.5 |
Comparing to | |
See all releases |
Code changes from version 1.8.4 to 1.8.5
- js/mystickymenu.js +75 -57
- js/mystickymenu.min.js +1 -1
- mystickymenu.php +14 -7
- readme.txt +16 -7
js/mystickymenu.js
CHANGED
@@ -1,58 +1,76 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
//
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
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 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
}
|
46 |
-
|
47 |
-
document.addEventListener('scroll', onScroll);
|
48 |
-
|
49 |
-
function OnResizeDocument () {
|
50 |
-
mysticky_navbar.style.removeProperty("width");
|
51 |
-
mysticky_navbar.classList.remove('myfixed');
|
52 |
-
wrappernav.classList.remove('wrapfixed');
|
53 |
-
wrappermysticky.style.removeProperty("width");
|
54 |
-
parentnav.style.removeProperty("height");
|
55 |
-
}
|
56 |
-
|
57 |
-
window.addEventListener('resize', OnResizeDocument);
|
58 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* myStickymenu by m.r.d.a
|
3 |
+
* v1.8.5
|
4 |
+
*/
|
5 |
+
|
6 |
+
(function( $ ) {
|
7 |
+
'use strict';
|
8 |
+
|
9 |
+
//jQuery(window).on("load", function($){
|
10 |
+
//jQuery(document).ready(function($){
|
11 |
+
|
12 |
+
function onScroll(e) {
|
13 |
+
var mydivWidth = ((mysticky_navbar.offsetWidth) + 'px');
|
14 |
+
var mydivReset = '';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
+
var y = hasScrollY ? window.scrollY : document.documentElement.scrollTop;
|
17 |
+
y >= origOffsetY ? mysticky_navbar.classList.add('myfixed') : mysticky_navbar.classList.remove('myfixed');
|
18 |
+
y >= origOffsetY ? wrappernav.classList.add('wrapfixed') : wrappernav.classList.remove('wrapfixed');
|
19 |
+
y >= origOffsetY ? mysticky_navbar.style.width = mydivWidth : mysticky_navbar.style.width = mydivReset;
|
20 |
+
y >= origOffsetY ? wrappermysticky.style.height = mydivHeight : wrappermysticky.style.height = mydivReset;
|
21 |
+
}
|
22 |
+
|
23 |
+
document.addEventListener('scroll', onScroll);
|
24 |
+
|
25 |
+
function OnResizeDocument () {
|
26 |
+
mysticky_navbar.style.removeProperty("width");
|
27 |
+
mysticky_navbar.classList.remove('myfixed');
|
28 |
+
wrappernav.classList.remove('wrapfixed');
|
29 |
+
wrappermysticky.style.removeProperty("width");
|
30 |
+
parentnav.style.removeProperty("height");
|
31 |
+
}
|
32 |
+
|
33 |
+
window.addEventListener('resize', OnResizeDocument);
|
34 |
+
|
35 |
+
//disable at small screen sizes
|
36 |
+
var myfixed_disable_small = parseInt(mysticky_name.mysticky_disable_at_width_string);
|
37 |
+
var mybodyWidth = parseInt(document.body.clientWidth);
|
38 |
+
|
39 |
+
|
40 |
+
if (mybodyWidth >= myfixed_disable_small) {
|
41 |
+
// select mysticky class
|
42 |
+
var mysticky_navbar = document.querySelector(mysticky_name.mysticky_string);
|
43 |
+
|
44 |
+
// add mysticky_wrap div around selected mysticky class
|
45 |
+
var parentmysticky = mysticky_navbar.parentNode;
|
46 |
+
|
47 |
+
var wrappermysticky = document.createElement('div');
|
48 |
+
var position = 0;
|
49 |
+
for(var i = 0; i < parentmysticky.childNodes.length; i++) {
|
50 |
+
if(parentmysticky.childNodes[i] == mysticky_navbar) {
|
51 |
+
position = i;
|
52 |
+
break;
|
53 |
+
}
|
54 |
+
}
|
55 |
+
wrappermysticky.id = 'mysticky-wrap';
|
56 |
+
wrappermysticky.appendChild(mysticky_navbar);
|
57 |
+
parentmysticky.insertBefore(wrappermysticky, parentmysticky.childNodes[position]);
|
58 |
+
|
59 |
+
// add mysticky_nav div inside selected mysticky class
|
60 |
+
var parentnav = mysticky_navbar.parentNode;
|
61 |
+
var wrappernav = document.createElement('div');
|
62 |
+
wrappernav.id = 'mysticky-nav';
|
63 |
+
parentnav.replaceChild(wrappernav, mysticky_navbar);
|
64 |
+
wrappernav.appendChild(mysticky_navbar);
|
65 |
+
|
66 |
+
// add myfixed and wrapfixed class to divs while scroll
|
67 |
+
var mysticky_active_on_height = parseInt(mysticky_name.mysticky_active_on_height_string) ;
|
68 |
+
var origOffsetY = mysticky_active_on_height ;
|
69 |
+
var mydivHeight = ((mysticky_navbar.offsetHeight) + 'px');
|
70 |
+
var hasScrollY = 'scrollY' in window;
|
71 |
+
|
72 |
+
}
|
73 |
+
|
74 |
+
//});
|
75 |
+
|
76 |
+
})(jQuery);
|
js/mystickymenu.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
function
|
1 |
+
!function(e){"use strict";function t(e){var t=d.offsetWidth+"px",i=h?window.scrollY:document.documentElement.scrollTop;i>=m?d.classList.add("myfixed"):d.classList.remove("myfixed"),i>=m?l.classList.add("wrapfixed"):l.classList.remove("wrapfixed"),d.style.width=i>=m?t:"",n.style.height=i>=m?y:""}function i(){d.style.removeProperty("width"),d.classList.remove("myfixed"),l.classList.remove("wrapfixed"),n.style.removeProperty("width"),a.style.removeProperty("height")}document.addEventListener("scroll",t),window.addEventListener("resize",i);var s=parseInt(mysticky_name.mysticky_disable_at_width_string);if(parseInt(document.body.clientWidth)>=s){for(var d=document.querySelector(mysticky_name.mysticky_string),r=d.parentNode,n=document.createElement("div"),o=0,c=0;c<r.childNodes.length;c++)if(r.childNodes[c]==d){o=c;break}n.id="mysticky-wrap",n.appendChild(d),r.insertBefore(n,r.childNodes[o]);var a=d.parentNode,l=document.createElement("div");l.id="mysticky-nav",a.replaceChild(l,d),l.appendChild(d);var m=parseInt(mysticky_name.mysticky_active_on_height_string),y=d.offsetHeight+"px",h="scrollY"in window}}(jQuery);
|
mystickymenu.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: myStickymenu
|
4 |
Plugin URI: http://wordpress.transformnews.com/plugins/mystickymenu-simple-sticky-fixed-on-top-menu-implementation-for-twentythirteen-menu-269
|
5 |
Description: Simple sticky (fixed on top) menu implementation for default Twentythirteen navigation menu. For other themes, after install go to Settings / myStickymenu and change Sticky Class to .your_navbar_class or #your_navbar_id.
|
6 |
-
Version: 1.8.
|
7 |
Author: m.r.d.a
|
8 |
Text Domain: mystickymenu
|
9 |
Domain Path: /languages
|
@@ -207,9 +207,9 @@ class MyStickyMenuPage
|
|
207 |
$default = array(
|
208 |
|
209 |
'mysticky_class_selector' => '.navbar',
|
210 |
-
'myfixed_zindex' => '
|
211 |
-
'myfixed_bgcolor' => '#
|
212 |
-
'myfixed_opacity' => '
|
213 |
'myfixed_transition_time' => '0.3',
|
214 |
'myfixed_disable_small_screen' => '359',
|
215 |
'mysticky_active_on_height' => '320',
|
@@ -464,11 +464,18 @@ if ($mysticky_options ['disable_css'] == false ){
|
|
464 |
$mysticky_options['mysticky_active_on_height_home'] = $mysticky_options['mysticky_active_on_height'];
|
465 |
};
|
466 |
|
467 |
-
|
|
|
|
|
468 |
$mysticky_options['mysticky_active_on_height'] = $mysticky_options['mysticky_active_on_height_home'];
|
469 |
-
|
|
|
|
|
|
|
|
|
|
|
470 |
|
471 |
-
wp_register_script('mystickymenu', plugins_url( 'js/mystickymenu.min.js', __FILE__ ),
|
472 |
wp_enqueue_script( 'mystickymenu' );
|
473 |
|
474 |
$mysticky_translation_array = array(
|
3 |
Plugin Name: myStickymenu
|
4 |
Plugin URI: http://wordpress.transformnews.com/plugins/mystickymenu-simple-sticky-fixed-on-top-menu-implementation-for-twentythirteen-menu-269
|
5 |
Description: Simple sticky (fixed on top) menu implementation for default Twentythirteen navigation menu. For other themes, after install go to Settings / myStickymenu and change Sticky Class to .your_navbar_class or #your_navbar_id.
|
6 |
+
Version: 1.8.5
|
7 |
Author: m.r.d.a
|
8 |
Text Domain: mystickymenu
|
9 |
Domain Path: /languages
|
207 |
$default = array(
|
208 |
|
209 |
'mysticky_class_selector' => '.navbar',
|
210 |
+
'myfixed_zindex' => '1000',
|
211 |
+
'myfixed_bgcolor' => '#FAFAFA',
|
212 |
+
'myfixed_opacity' => '90',
|
213 |
'myfixed_transition_time' => '0.3',
|
214 |
'myfixed_disable_small_screen' => '359',
|
215 |
'mysticky_active_on_height' => '320',
|
464 |
$mysticky_options['mysticky_active_on_height_home'] = $mysticky_options['mysticky_active_on_height'];
|
465 |
};
|
466 |
|
467 |
+
|
468 |
+
if ( is_front_page() && is_home() ) {
|
469 |
+
|
470 |
$mysticky_options['mysticky_active_on_height'] = $mysticky_options['mysticky_active_on_height_home'];
|
471 |
+
|
472 |
+
} elseif ( is_front_page()){
|
473 |
+
|
474 |
+
$mysticky_options['mysticky_active_on_height'] = $mysticky_options['mysticky_active_on_height_home'];
|
475 |
+
|
476 |
+
}
|
477 |
|
478 |
+
wp_register_script('mystickymenu', plugins_url( 'js/mystickymenu.min.js', __FILE__ ), array('jquery'),'1.8.5', true);
|
479 |
wp_enqueue_script( 'mystickymenu' );
|
480 |
|
481 |
$mysticky_translation_array = array(
|
readme.txt
CHANGED
@@ -4,17 +4,19 @@ Donate link: http://wordpress.transformnews.com/contact
|
|
4 |
Tags: sticky, menu, header, sticky menu, sticky header, floating, floating menu
|
5 |
Requires at least: 3.5.1
|
6 |
Tested up to: 4.8
|
7 |
-
Stable tag: 1.8.
|
8 |
License: GPLv2 or later
|
9 |
|
10 |
-
This
|
11 |
|
12 |
== Description ==
|
13 |
-
|
|
|
|
|
14 |
|
15 |
Plugin is localized (multi language support) and responsive (as far as your theme is). Also there is possibility to add custom css code which make this plugin very flexible, customizable and user friendly.
|
16 |
|
17 |
-
|
18 |
|
19 |
[Plugin Home + Demo URL][1]
|
20 |
|
@@ -23,8 +25,9 @@ Another advancement of this simple plugin is that increases usability and page v
|
|
23 |
== Installation ==
|
24 |
Install like any other plugin. After install activate.
|
25 |
Go to Settings / myStickymenu and change Sticky Class to .your_navbar_class or #your_navbar_id…
|
26 |
-
Also make sure that Disable CSS style option is not enabled, you must add myStickymenu CSS style to your style.css file first. More about disable CSS option
|
27 |
|
|
|
28 |
|
29 |
== Frequently Asked Questions ==
|
30 |
|
@@ -43,8 +46,11 @@ In CSS you can style your custom class while not sticky using custom class you a
|
|
43 |
|
44 |
In some cases you can use the whole header div and than just style it different with .myfixed class, hide what you don’t need using CSS display:none; property, and position logo and menu as you like.
|
45 |
|
46 |
-
Check Twenty Thirteen CSS example using default full header id #masthead as a sticky class
|
47 |
-
Also
|
|
|
|
|
|
|
48 |
|
49 |
== Screenshots ==
|
50 |
|
@@ -54,6 +60,9 @@ Also check another header example here - https://wordpress.org/support/topic/log
|
|
54 |
|
55 |
== Changelog ==
|
56 |
|
|
|
|
|
|
|
57 |
= 1.8.4 =
|
58 |
* Fixed: changed is_home() to is_front_page() for menu activation height on front page.
|
59 |
|
4 |
Tags: sticky, menu, header, sticky menu, sticky header, floating, floating menu
|
5 |
Requires at least: 3.5.1
|
6 |
Tested up to: 4.8
|
7 |
+
Stable tag: 1.8.5
|
8 |
License: GPLv2 or later
|
9 |
|
10 |
+
This lightweight plugin will made your menu or header sticky on top of page, after desired number of pixels when scrolled.
|
11 |
|
12 |
== Description ==
|
13 |
+
By default, sticky menu is designed to use element class ".navbar" as "Sticky Class". That value should be modified in plugin settings for different themes to make it work. Sticky Class is actually nothing more than an element class (or id) of the element that should become sticky.
|
14 |
+
|
15 |
+
Advancement of this simple plugin is that increases usability and page views of your WordPress site since menu is available to the user all the time.
|
16 |
|
17 |
Plugin is localized (multi language support) and responsive (as far as your theme is). Also there is possibility to add custom css code which make this plugin very flexible, customizable and user friendly.
|
18 |
|
19 |
+
Plugin is originally designed for Twenty Thirteen template but should work on any theme.
|
20 |
|
21 |
[Plugin Home + Demo URL][1]
|
22 |
|
25 |
== Installation ==
|
26 |
Install like any other plugin. After install activate.
|
27 |
Go to Settings / myStickymenu and change Sticky Class to .your_navbar_class or #your_navbar_id…
|
28 |
+
Also make sure that Disable CSS style option is not enabled, you must add myStickymenu CSS style to your style.css file first. [More about disable CSS option][2]
|
29 |
|
30 |
+
[2]: http://wordpress.transformnews.com/tutorials/disable-css-style-in-mystickymenu-938
|
31 |
|
32 |
== Frequently Asked Questions ==
|
33 |
|
46 |
|
47 |
In some cases you can use the whole header div and than just style it different with .myfixed class, hide what you don’t need using CSS display:none; property, and position logo and menu as you like.
|
48 |
|
49 |
+
Check [Twenty Thirteen CSS example][3] using default full header id #masthead as a sticky class.
|
50 |
+
Also here is yet [another header example][4].
|
51 |
+
|
52 |
+
[3]: http://wordpress.transformnews.com/plugins/mystickymenu-simple-sticky-fixed-on-top-menu-implementation-for-twentythirteen-menu-269
|
53 |
+
[4]: https://wordpress.org/support/topic/logo-in-menu-2
|
54 |
|
55 |
== Screenshots ==
|
56 |
|
60 |
|
61 |
== Changelog ==
|
62 |
|
63 |
+
= 1.8.5 =
|
64 |
+
* Improved: Improved performance and optimized scripts.
|
65 |
+
|
66 |
= 1.8.4 =
|
67 |
* Fixed: changed is_home() to is_front_page() for menu activation height on front page.
|
68 |
|