PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 2.8.2
Admin and Site Enhancements (ASE) v2.8.2
9.1.1 9.1.0 9.0.2 9.0.1 9.0.0 8.9.2 8.9.1 8.9.0 8.8.8 8.8.7 8.8.6 8.8.5 8.8.4 8.8.3 8.8.2 8.8.1 8.8.0 8.7.3 8.7.2 8.7.1 8.2.1 8.2.2 8.2.3 8.3.0 8.3.1 8.3.2 8.4.0 8.4.1 8.4.2 8.5.0 8.5.1 8.5.2 8.6.0 8.6.1 8.6.2 8.7.0 5.0.1 5.0.2 5.0.2.1 5.0.2.2 5.0.2.3 5.0.2.4 5.1.0 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.8.0 5.8.1 6.0.0 6.0.3 6.0.4 6.0.5 6.0.5.1 6.0.6 6.0.7 6.0.8.1 6.1.0 6.1.3 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.3.0 6.3.1 6.3.2 6.4.0 6.5.0 6.5.1 6.6.0 6.7.0 6.8.0 6.8.2 6.8.3 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13.1 6.9.13.2 6.9.2 6.9.3 6.9.4 6.9.5 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.2 7.0.2.1 7.0.2.2 7.0.2.3 7.0.3 7.1.0 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2.0 7.2.1 7.3.0 7.3.1 7.3.2 7.3.3 7.4.0 7.4.2 7.4.4 7.4.5 7.4.6 7.4.7 7.4.8 7.5.0 7.5.1 7.5.2 7.5.3 7.5.4 7.6.0 7.6.1 7.6.1.1 7.6.10 7.6.11 7.6.2 7.6.3 7.6.4 7.6.5 7.6.6 7.6.7 7.6.7.1 7.6.8 7.6.9 7.7.0 7.8.0 7.8.1 7.8.10 7.8.11 7.8.12 7.8.13 7.8.14 7.8.15 7.8.16 7.8.17 7.8.18 7.8.2 7.8.3 7.8.4 7.8.5 7.8.5.1 7.8.6 7.8.7 7.8.8 7.8.9 7.9.0 7.9.1 7.9.10 7.9.11 7.9.2 7.9.3 7.9.4 7.9.5 7.9.6 7.9.7 7.9.8 7.9.9 8.0.0 8.0.1 8.0.2 8.0.3 8.0.4 8.0.5 8.0.6 8.0.7 8.0.8 8.1.0 8.1.1 8.1.2 8.1.3 8.1.4 8.2.0 trunk 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.7.0 1.8.0 1.9.0 2.0.0 2.1.0 2.2.0 2.3.0 2.4.0 2.5.0 2.6.0 2.7.0 2.8.0 2.8.1 2.8.2 2.8.3 2.9.0 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.2.0 3.3.0 3.4.0 3.5.0 3.6.1 3.7.0 3.8.0 3.9.0 3.9.1 3.9.2 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.9.0 4.9.1 4.9.2 4.9.3 5.0.0
admin-site-enhancements / assets / js / jquery.jsticky.mod.js
admin-site-enhancements / assets / js Last commit date
codemirror 3 years ago datatables 3 years ago admin-page.js 3 years ago custom-admin-menu.js 3 years ago hide-admin-notices.js 3 years ago jBox.all.min.js 3 years ago jquery.jsticky.mod.js 3 years ago jquery.jsticky.mod.min.js 3 years ago js.cookie.min.js 3 years ago media-replace.js 3 years ago toggle-hidden-menu.js 3 years ago
jquery.jsticky.mod.js
126 lines
1 /* jSticky Plugin
2 * =============
3 * Author: Andrew Henderson (@AndrewHenderson)
4 * Contributor: Mike Street (@mikestreety)
5 * Date: 9/7/2012
6 * Update: 09/20/2016
7 * Website: http://github.com/andrewhenderson/jsticky/
8 * Description: A jQuery plugin that keeps select DOM
9 * element(s) in view while scrolling the page.
10 */
11
12 // Modifications to compensate for WordPress admin bar height, wp-admin .wrap class top margin and plugin page's margin top is done by Bowo (https://bowo.io)
13
14 ;(function($) {
15
16 $.fn.sticky = function(options) {
17 var defaults = {
18 topSpacing: 0, // No spacing by default
19 zIndex: '', // No default z-index
20 stopper: '.sticky-stopper', // Default stopper class, also accepts number value
21 stickyClass: false // Class applied to element when it's stuck
22 };
23 var settings = $.extend({}, defaults, options); // Accepts custom stopper id or class
24
25 // Checks if custom z-index was defined
26 function checkIndex() {
27 if (typeof settings.zIndex == 'number') {
28 return true;
29 } else {
30 return false;
31 }
32 }
33
34 var hasIndex = checkIndex(); // True or false
35
36 // Checks if a stopper exists in the DOM or number defined
37 function checkStopper() {
38 if (0 < $(settings.stopper).length || typeof settings.stopper === 'number') {
39 return true;
40 } else {
41 return false;
42 }
43 }
44 var hasStopper = checkStopper(); // True or false
45
46 return this.each(function() {
47
48 var $this = $(this);
49 var adminBarHeight = 32; // height of WP admin bar
50 var adminBarOffset = 8;
51 var adminWrapOffset = 10; // margin-top of wp-admin .wrap
52 var headerMarginTop = 24;
53 var thisHeight = $this.outerHeight();
54 var thisWidth = $this.outerWidth();
55 var topSpacing = settings.topSpacing;
56 var zIndex = settings.zIndex;
57 var pushPoint = $this.offset().top - topSpacing - adminBarHeight; // Point at which the sticky element starts pushing
58 var placeholder = $('<div></div>').width(thisWidth).height(thisHeight).css('margin-top',headerMarginTop+'px').addClass('sticky-placeholder'); // Cache a clone sticky element
59 var stopper = settings.stopper;
60 var $window = $(window);
61
62 function stickyScroll() {
63
64 var windowTop = $window.scrollTop(); // Check window's scroll position
65 var stopPoint = stopper;
66 var parentWidth = $this.parent().width();
67
68 placeholder.width(parentWidth)
69
70 if ( hasStopper && typeof stopper === 'string' ) {
71 var stopperTop = $(stopper).offset().top;
72 stopPoint = (stopperTop - thisHeight) - topSpacing;
73 }
74
75 // console.log( 'thisHeight: ' + thisHeight + ' | thisWidth: ' + thisWidth + ' | pushPoint: ' + pushPoint + ' | windowTop: ' + windowTop + ' | stopPoint: ' + stopPoint );
76
77 if (pushPoint < windowTop) {
78 // Create a placeholder for sticky element to occupy vertical real estate
79 if(settings.stickyClass)
80 $this.addClass(settings.stickyClass);
81
82 $this.after(placeholder).css({
83 position: 'fixed',
84 top: topSpacing + adminBarOffset,
85 width: parentWidth
86 });
87
88 if (hasIndex) {
89 $this.css({
90 zIndex: zIndex
91 });
92 }
93
94 if (hasStopper) {
95 if (stopPoint < windowTop) {
96 var diff = (stopPoint - windowTop) + topSpacing + adminBarOffset;
97 $this.css({
98 top: diff
99 });
100 }
101 }
102 } else {
103 if(settings.stickyClass)
104 $this.removeClass(settings.stickyClass);
105
106 $this.css({
107 position: 'static',
108 top: null,
109 left: null,
110 width: 'auto'
111 });
112
113 placeholder.remove();
114 }
115 }
116
117 if($window.innerHeight() > thisHeight) {
118
119 $window.bind('scroll', stickyScroll);
120 $window.bind('load', stickyScroll);
121 $window.bind('resize', stickyScroll);
122 }
123 });
124 };
125 })(jQuery);
126