move the sticky-kit^Cquery plugin to /lib and see if we want this for the whole app
This commit is contained in:
		
							
								
								
									
										290
									
								
								doc/toc.html
									
									
									
									
									
								
							
							
						
						
									
										290
									
								
								doc/toc.html
									
									
									
									
									
								
							| @@ -93,277 +93,6 @@ | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
|  | ||||
| <script> | ||||
| // Generated by CoffeeScript 1.10.0 | ||||
|  | ||||
| /** | ||||
| @license Sticky-kit v1.1.3 | MIT | Leaf Corcoran 2015 | http://leafo.net | ||||
|  */ | ||||
|  | ||||
| (function() { | ||||
|   var $, win; | ||||
|  | ||||
|   $ = window.jQuery; | ||||
|  | ||||
|   win = $(window); | ||||
|  | ||||
|   $.fn.stick_in_parent = function(opts) { | ||||
|     var doc, elm, enable_bottoming, fn, i, inner_scrolling, len, manual_spacer, offset_top, outer_width, parent_selector, recalc_every, sticky_class; | ||||
|     if (opts == null) { | ||||
|       opts = {}; | ||||
|     } | ||||
|     sticky_class = opts.sticky_class, inner_scrolling = opts.inner_scrolling, recalc_every = opts.recalc_every, parent_selector = opts.parent, offset_top = opts.offset_top, manual_spacer = opts.spacer, enable_bottoming = opts.bottoming; | ||||
|     if (offset_top == null) { | ||||
|       offset_top = 0; | ||||
|     } | ||||
|     if (parent_selector == null) { | ||||
|       parent_selector = void 0; | ||||
|     } | ||||
|     if (inner_scrolling == null) { | ||||
|       inner_scrolling = true; | ||||
|     } | ||||
|     if (sticky_class == null) { | ||||
|       sticky_class = "is_stuck"; | ||||
|     } | ||||
|     doc = $(document); | ||||
|     if (enable_bottoming == null) { | ||||
|       enable_bottoming = true; | ||||
|     } | ||||
|     outer_width = function(el) { | ||||
|       var _el, computed, w; | ||||
|       if (window.getComputedStyle) { | ||||
|         _el = el[0]; | ||||
|         computed = window.getComputedStyle(el[0]); | ||||
|         w = parseFloat(computed.getPropertyValue("width")) + parseFloat(computed.getPropertyValue("margin-left")) + parseFloat(computed.getPropertyValue("margin-right")); | ||||
|         if (computed.getPropertyValue("box-sizing") !== "border-box") { | ||||
|           w += parseFloat(computed.getPropertyValue("border-left-width")) + parseFloat(computed.getPropertyValue("border-right-width")) + parseFloat(computed.getPropertyValue("padding-left")) + parseFloat(computed.getPropertyValue("padding-right")); | ||||
|         } | ||||
|         return w; | ||||
|       } else { | ||||
|         return el.outerWidth(true); | ||||
|       } | ||||
|     }; | ||||
|     fn = function(elm, padding_bottom, parent_top, parent_height, top, height, el_float, detached) { | ||||
|       var bottomed, detach, fixed, last_pos, last_scroll_height, offset, parent, recalc, recalc_and_tick, recalc_counter, spacer, tick; | ||||
|       if (elm.data("sticky_kit")) { | ||||
|         return; | ||||
|       } | ||||
|       elm.data("sticky_kit", true); | ||||
|       last_scroll_height = doc.height(); | ||||
|       parent = elm.parent(); | ||||
|       if (parent_selector != null) { | ||||
|         parent = parent.closest(parent_selector); | ||||
|       } | ||||
|       if (!parent.length) { | ||||
|         throw "failed to find stick parent"; | ||||
|       } | ||||
|       fixed = false; | ||||
|       bottomed = false; | ||||
|       spacer = manual_spacer != null ? manual_spacer && elm.closest(manual_spacer) : $("<div />"); | ||||
|       if (spacer) { | ||||
|         spacer.css('position', elm.css('position')); | ||||
|       } | ||||
|       recalc = function() { | ||||
|         var border_top, padding_top, restore; | ||||
|         if (detached) { | ||||
|           return; | ||||
|         } | ||||
|         last_scroll_height = doc.height(); | ||||
|         border_top = parseInt(parent.css("border-top-width"), 10); | ||||
|         padding_top = parseInt(parent.css("padding-top"), 10); | ||||
|         padding_bottom = parseInt(parent.css("padding-bottom"), 10); | ||||
|         parent_top = parent.offset().top + border_top + padding_top; | ||||
|         parent_height = parent.height(); | ||||
|         if (fixed) { | ||||
|           fixed = false; | ||||
|           bottomed = false; | ||||
|           if (manual_spacer == null) { | ||||
|             elm.insertAfter(spacer); | ||||
|             spacer.detach(); | ||||
|           } | ||||
|           elm.css({ | ||||
|             position: "", | ||||
|             top: "", | ||||
|             width: "", | ||||
|             bottom: "" | ||||
|           }).removeClass(sticky_class); | ||||
|           restore = true; | ||||
|         } | ||||
|         top = elm.offset().top - (parseInt(elm.css("margin-top"), 10) || 0) - offset_top; | ||||
|         height = elm.outerHeight(true); | ||||
|         el_float = elm.css("float"); | ||||
|         if (spacer) { | ||||
|           spacer.css({ | ||||
|             width: outer_width(elm), | ||||
|             height: height, | ||||
|             display: elm.css("display"), | ||||
|             "vertical-align": elm.css("vertical-align"), | ||||
|             "float": el_float | ||||
|           }); | ||||
|         } | ||||
|         if (restore) { | ||||
|           return tick(); | ||||
|         } | ||||
|       }; | ||||
|       recalc(); | ||||
|       if (height === parent_height) { | ||||
|         return; | ||||
|       } | ||||
|       last_pos = void 0; | ||||
|       offset = offset_top; | ||||
|       recalc_counter = recalc_every; | ||||
|       tick = function() { | ||||
|         var css, delta, recalced, scroll, will_bottom, win_height; | ||||
|         if (detached) { | ||||
|           return; | ||||
|         } | ||||
|         recalced = false; | ||||
|         if (recalc_counter != null) { | ||||
|           recalc_counter -= 1; | ||||
|           if (recalc_counter <= 0) { | ||||
|             recalc_counter = recalc_every; | ||||
|             recalc(); | ||||
|             recalced = true; | ||||
|           } | ||||
|         } | ||||
|         if (!recalced && doc.height() !== last_scroll_height) { | ||||
|           recalc(); | ||||
|           recalced = true; | ||||
|         } | ||||
|         scroll = win.scrollTop(); | ||||
|         if (last_pos != null) { | ||||
|           delta = scroll - last_pos; | ||||
|         } | ||||
|         last_pos = scroll; | ||||
|         if (fixed) { | ||||
|           if (enable_bottoming) { | ||||
|             will_bottom = scroll + height + offset > parent_height + parent_top; | ||||
|             if (bottomed && !will_bottom) { | ||||
|               bottomed = false; | ||||
|               elm.css({ | ||||
|                 position: "fixed", | ||||
|                 bottom: "", | ||||
|                 top: offset | ||||
|               }).trigger("sticky_kit:unbottom"); | ||||
|             } | ||||
|           } | ||||
|           if (scroll < top) { | ||||
|             fixed = false; | ||||
|             offset = offset_top; | ||||
|             if (manual_spacer == null) { | ||||
|               if (el_float === "left" || el_float === "right") { | ||||
|                 elm.insertAfter(spacer); | ||||
|               } | ||||
|               spacer.detach(); | ||||
|             } | ||||
|             css = { | ||||
|               position: "", | ||||
|               width: "", | ||||
|               top: "" | ||||
|             }; | ||||
|             elm.css(css).removeClass(sticky_class).trigger("sticky_kit:unstick"); | ||||
|           } | ||||
|           if (inner_scrolling) { | ||||
|             win_height = win.height(); | ||||
|             if (height + offset_top > win_height) { | ||||
|               if (!bottomed) { | ||||
|                 offset -= delta; | ||||
|                 offset = Math.max(win_height - height, offset); | ||||
|                 offset = Math.min(offset_top, offset); | ||||
|                 if (fixed) { | ||||
|                   elm.css({ | ||||
|                     top: offset + "px" | ||||
|                   }); | ||||
|                 } | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         } else { | ||||
|           if (scroll > top) { | ||||
|             fixed = true; | ||||
|             css = { | ||||
|               position: "fixed", | ||||
|               top: offset | ||||
|             }; | ||||
|             css.width = elm.css("box-sizing") === "border-box" ? elm.outerWidth() + "px" : elm.width() + "px"; | ||||
|             elm.css(css).addClass(sticky_class); | ||||
|             if (manual_spacer == null) { | ||||
|               elm.after(spacer); | ||||
|               if (el_float === "left" || el_float === "right") { | ||||
|                 spacer.append(elm); | ||||
|               } | ||||
|             } | ||||
|             elm.trigger("sticky_kit:stick"); | ||||
|           } | ||||
|         } | ||||
|         if (fixed && enable_bottoming) { | ||||
|           if (will_bottom == null) { | ||||
|             will_bottom = scroll + height + offset > parent_height + parent_top; | ||||
|           } | ||||
|           if (!bottomed && will_bottom) { | ||||
|             bottomed = true; | ||||
|             if (parent.css("position") === "static") { | ||||
|               parent.css({ | ||||
|                 position: "relative" | ||||
|               }); | ||||
|             } | ||||
|             return elm.css({ | ||||
|               position: "absolute", | ||||
|               bottom: padding_bottom, | ||||
|               top: "auto" | ||||
|             }).trigger("sticky_kit:bottom"); | ||||
|           } | ||||
|         } | ||||
|       }; | ||||
|       recalc_and_tick = function() { | ||||
|         recalc(); | ||||
|         return tick(); | ||||
|       }; | ||||
|       detach = function() { | ||||
|         detached = true; | ||||
|         win.off("touchmove", tick); | ||||
|         win.off("scroll", tick); | ||||
|         win.off("resize", recalc_and_tick); | ||||
|         $(document.body).off("sticky_kit:recalc", recalc_and_tick); | ||||
|         elm.off("sticky_kit:detach", detach); | ||||
|         elm.removeData("sticky_kit"); | ||||
|         elm.css({ | ||||
|           position: "", | ||||
|           bottom: "", | ||||
|           top: "", | ||||
|           width: "" | ||||
|         }); | ||||
|         parent.position("position", ""); | ||||
|         if (fixed) { | ||||
|           if (manual_spacer == null) { | ||||
|             if (el_float === "left" || el_float === "right") { | ||||
|               elm.insertAfter(spacer); | ||||
|             } | ||||
|             spacer.remove(); | ||||
|           } | ||||
|           return elm.removeClass(sticky_class); | ||||
|         } | ||||
|       }; | ||||
|       win.on("touchmove", tick); | ||||
|       win.on("scroll", tick); | ||||
|       win.on("resize", recalc_and_tick); | ||||
|       $(document.body).on("sticky_kit:recalc", recalc_and_tick); | ||||
|       elm.on("sticky_kit:detach", detach); | ||||
|       return setTimeout(tick, 0); | ||||
|     }; | ||||
|     for (i = 0, len = this.length; i < len; i++) { | ||||
|       elm = this[i]; | ||||
|       fn($(elm)); | ||||
|     } | ||||
|     return this; | ||||
|   }; | ||||
|  | ||||
| }).call(this); | ||||
|  | ||||
|  | ||||
| </script> | ||||
|  | ||||
| <script> | ||||
|  | ||||
|     // Generate the table of contents in the side nav menu (see view/tpl/help.tpl) | ||||
| @@ -386,25 +115,8 @@ | ||||
|             } | ||||
|         }); | ||||
| 		 | ||||
| 	$(".widget").stick_in_parent({ | ||||
| 		offset_top: $('nav').outerHeight(true) | ||||
| 	}); | ||||
| 	$(document.body).trigger("sticky_kit:recalc"); | ||||
|  | ||||
| 	$('#expand-aside').click(function() { | ||||
| 		if($('main').hasClass('region_1-on')) { | ||||
| 			$('body').css('overflow-x', 'hidden'); | ||||
| 		} | ||||
| 		else { | ||||
| 			$('body').css('overflow-x', ''); | ||||
| 		} | ||||
| 	}); | ||||
| 	$(window).scroll(function() { | ||||
| 		if($('main').hasClass('region_1-on') && $(window).scrollLeft() > 5) { | ||||
| 			$('#expand-aside-icon').toggleClass('fa-arrow-circle-right').toggleClass('fa-arrow-circle-left'); | ||||
| 			$('main').toggleClass('region_1-on'); | ||||
| 			$('body').css('overflow-x', ''); | ||||
| 		} | ||||
| 	}); | ||||
|     }); | ||||
|  | ||||
| </script> | ||||
|   | ||||
							
								
								
									
										265
									
								
								library/sticky-kit/sticky-kit.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										265
									
								
								library/sticky-kit/sticky-kit.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,265 @@ | ||||
| // Generated by CoffeeScript 1.10.0 | ||||
|  | ||||
| /** | ||||
| @license Sticky-kit v1.1.3 | MIT | Leaf Corcoran 2015 | http://leafo.net | ||||
|  */ | ||||
|  | ||||
| (function() { | ||||
|   var $, win; | ||||
|  | ||||
|   $ = window.jQuery; | ||||
|  | ||||
|   win = $(window); | ||||
|  | ||||
|   $.fn.stick_in_parent = function(opts) { | ||||
|     var doc, elm, enable_bottoming, fn, i, inner_scrolling, len, manual_spacer, offset_top, outer_width, parent_selector, recalc_every, sticky_class; | ||||
|     if (opts == null) { | ||||
|       opts = {}; | ||||
|     } | ||||
|     sticky_class = opts.sticky_class, inner_scrolling = opts.inner_scrolling, recalc_every = opts.recalc_every, parent_selector = opts.parent, offset_top = opts.offset_top, manual_spacer = opts.spacer, enable_bottoming = opts.bottoming; | ||||
|     if (offset_top == null) { | ||||
|       offset_top = 0; | ||||
|     } | ||||
|     if (parent_selector == null) { | ||||
|       parent_selector = void 0; | ||||
|     } | ||||
|     if (inner_scrolling == null) { | ||||
|       inner_scrolling = true; | ||||
|     } | ||||
|     if (sticky_class == null) { | ||||
|       sticky_class = "is_stuck"; | ||||
|     } | ||||
|     doc = $(document); | ||||
|     if (enable_bottoming == null) { | ||||
|       enable_bottoming = true; | ||||
|     } | ||||
|     outer_width = function(el) { | ||||
|       var _el, computed, w; | ||||
|       if (window.getComputedStyle) { | ||||
|         _el = el[0]; | ||||
|         computed = window.getComputedStyle(el[0]); | ||||
|         w = parseFloat(computed.getPropertyValue("width")) + parseFloat(computed.getPropertyValue("margin-left")) + parseFloat(computed.getPropertyValue("margin-right")); | ||||
|         if (computed.getPropertyValue("box-sizing") !== "border-box") { | ||||
|           w += parseFloat(computed.getPropertyValue("border-left-width")) + parseFloat(computed.getPropertyValue("border-right-width")) + parseFloat(computed.getPropertyValue("padding-left")) + parseFloat(computed.getPropertyValue("padding-right")); | ||||
|         } | ||||
|         return w; | ||||
|       } else { | ||||
|         return el.outerWidth(true); | ||||
|       } | ||||
|     }; | ||||
|     fn = function(elm, padding_bottom, parent_top, parent_height, top, height, el_float, detached) { | ||||
|       var bottomed, detach, fixed, last_pos, last_scroll_height, offset, parent, recalc, recalc_and_tick, recalc_counter, spacer, tick; | ||||
|       if (elm.data("sticky_kit")) { | ||||
|         return; | ||||
|       } | ||||
|       elm.data("sticky_kit", true); | ||||
|       last_scroll_height = doc.height(); | ||||
|       parent = elm.parent(); | ||||
|       if (parent_selector != null) { | ||||
|         parent = parent.closest(parent_selector); | ||||
|       } | ||||
|       if (!parent.length) { | ||||
|         throw "failed to find stick parent"; | ||||
|       } | ||||
|       fixed = false; | ||||
|       bottomed = false; | ||||
|       spacer = manual_spacer != null ? manual_spacer && elm.closest(manual_spacer) : $("<div />"); | ||||
|       if (spacer) { | ||||
|         spacer.css('position', elm.css('position')); | ||||
|       } | ||||
|       recalc = function() { | ||||
|         var border_top, padding_top, restore; | ||||
|         if (detached) { | ||||
|           return; | ||||
|         } | ||||
|         last_scroll_height = doc.height(); | ||||
|         border_top = parseInt(parent.css("border-top-width"), 10); | ||||
|         padding_top = parseInt(parent.css("padding-top"), 10); | ||||
|         padding_bottom = parseInt(parent.css("padding-bottom"), 10); | ||||
|         parent_top = parent.offset().top + border_top + padding_top; | ||||
|         parent_height = parent.height(); | ||||
|         if (fixed) { | ||||
|           fixed = false; | ||||
|           bottomed = false; | ||||
|           if (manual_spacer == null) { | ||||
|             elm.insertAfter(spacer); | ||||
|             spacer.detach(); | ||||
|           } | ||||
|           elm.css({ | ||||
|             position: "", | ||||
|             top: "", | ||||
|             width: "", | ||||
|             bottom: "" | ||||
|           }).removeClass(sticky_class); | ||||
|           restore = true; | ||||
|         } | ||||
|         top = elm.offset().top - (parseInt(elm.css("margin-top"), 10) || 0) - offset_top; | ||||
|         height = elm.outerHeight(true); | ||||
|         el_float = elm.css("float"); | ||||
|         if (spacer) { | ||||
|           spacer.css({ | ||||
|             width: outer_width(elm), | ||||
|             height: height, | ||||
|             display: elm.css("display"), | ||||
|             "vertical-align": elm.css("vertical-align"), | ||||
|             "float": el_float | ||||
|           }); | ||||
|         } | ||||
|         if (restore) { | ||||
|           return tick(); | ||||
|         } | ||||
|       }; | ||||
|       recalc(); | ||||
|       if (height === parent_height) { | ||||
|         return; | ||||
|       } | ||||
|       last_pos = void 0; | ||||
|       offset = offset_top; | ||||
|       recalc_counter = recalc_every; | ||||
|       tick = function() { | ||||
|         var css, delta, recalced, scroll, will_bottom, win_height; | ||||
|         if (detached) { | ||||
|           return; | ||||
|         } | ||||
|         recalced = false; | ||||
|         if (recalc_counter != null) { | ||||
|           recalc_counter -= 1; | ||||
|           if (recalc_counter <= 0) { | ||||
|             recalc_counter = recalc_every; | ||||
|             recalc(); | ||||
|             recalced = true; | ||||
|           } | ||||
|         } | ||||
|         if (!recalced && doc.height() !== last_scroll_height) { | ||||
|           recalc(); | ||||
|           recalced = true; | ||||
|         } | ||||
|         scroll = win.scrollTop(); | ||||
|         if (last_pos != null) { | ||||
|           delta = scroll - last_pos; | ||||
|         } | ||||
|         last_pos = scroll; | ||||
|         if (fixed) { | ||||
|           if (enable_bottoming) { | ||||
|             will_bottom = scroll + height + offset > parent_height + parent_top; | ||||
|             if (bottomed && !will_bottom) { | ||||
|               bottomed = false; | ||||
|               elm.css({ | ||||
|                 position: "fixed", | ||||
|                 bottom: "", | ||||
|                 top: offset | ||||
|               }).trigger("sticky_kit:unbottom"); | ||||
|             } | ||||
|           } | ||||
|           if (scroll < top) { | ||||
|             fixed = false; | ||||
|             offset = offset_top; | ||||
|             if (manual_spacer == null) { | ||||
|               if (el_float === "left" || el_float === "right") { | ||||
|                 elm.insertAfter(spacer); | ||||
|               } | ||||
|               spacer.detach(); | ||||
|             } | ||||
|             css = { | ||||
|               position: "", | ||||
|               width: "", | ||||
|               top: "" | ||||
|             }; | ||||
|             elm.css(css).removeClass(sticky_class).trigger("sticky_kit:unstick"); | ||||
|           } | ||||
|           if (inner_scrolling) { | ||||
|             win_height = win.height(); | ||||
|             if (height + offset_top > win_height) { | ||||
|               if (!bottomed) { | ||||
|                 offset -= delta; | ||||
|                 offset = Math.max(win_height - height, offset); | ||||
|                 offset = Math.min(offset_top, offset); | ||||
|                 if (fixed) { | ||||
|                   elm.css({ | ||||
|                     top: offset + "px" | ||||
|                   }); | ||||
|                 } | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         } else { | ||||
|           if (scroll > top) { | ||||
|             fixed = true; | ||||
|             css = { | ||||
|               position: "fixed", | ||||
|               top: offset | ||||
|             }; | ||||
|             css.width = elm.css("box-sizing") === "border-box" ? elm.outerWidth() + "px" : elm.width() + "px"; | ||||
|             elm.css(css).addClass(sticky_class); | ||||
|             if (manual_spacer == null) { | ||||
|               elm.after(spacer); | ||||
|               if (el_float === "left" || el_float === "right") { | ||||
|                 spacer.append(elm); | ||||
|               } | ||||
|             } | ||||
|             elm.trigger("sticky_kit:stick"); | ||||
|           } | ||||
|         } | ||||
|         if (fixed && enable_bottoming) { | ||||
|           if (will_bottom == null) { | ||||
|             will_bottom = scroll + height + offset > parent_height + parent_top; | ||||
|           } | ||||
|           if (!bottomed && will_bottom) { | ||||
|             bottomed = true; | ||||
|             if (parent.css("position") === "static") { | ||||
|               parent.css({ | ||||
|                 position: "relative" | ||||
|               }); | ||||
|             } | ||||
|             return elm.css({ | ||||
|               position: "absolute", | ||||
|               bottom: padding_bottom, | ||||
|               top: "auto" | ||||
|             }).trigger("sticky_kit:bottom"); | ||||
|           } | ||||
|         } | ||||
|       }; | ||||
|       recalc_and_tick = function() { | ||||
|         recalc(); | ||||
|         return tick(); | ||||
|       }; | ||||
|       detach = function() { | ||||
|         detached = true; | ||||
|         win.off("touchmove", tick); | ||||
|         win.off("scroll", tick); | ||||
|         win.off("resize", recalc_and_tick); | ||||
|         $(document.body).off("sticky_kit:recalc", recalc_and_tick); | ||||
|         elm.off("sticky_kit:detach", detach); | ||||
|         elm.removeData("sticky_kit"); | ||||
|         elm.css({ | ||||
|           position: "", | ||||
|           bottom: "", | ||||
|           top: "", | ||||
|           width: "" | ||||
|         }); | ||||
|         parent.position("position", ""); | ||||
|         if (fixed) { | ||||
|           if (manual_spacer == null) { | ||||
|             if (el_float === "left" || el_float === "right") { | ||||
|               elm.insertAfter(spacer); | ||||
|             } | ||||
|             spacer.remove(); | ||||
|           } | ||||
|           return elm.removeClass(sticky_class); | ||||
|         } | ||||
|       }; | ||||
|       win.on("touchmove", tick); | ||||
|       win.on("scroll", tick); | ||||
|       win.on("resize", recalc_and_tick); | ||||
|       $(document.body).on("sticky_kit:recalc", recalc_and_tick); | ||||
|       elm.on("sticky_kit:detach", detach); | ||||
|       return setTimeout(tick, 0); | ||||
|     }; | ||||
|     for (i = 0, len = this.length; i < len; i++) { | ||||
|       elm = this[i]; | ||||
|       fn($(elm)); | ||||
|     } | ||||
|     return this; | ||||
|   }; | ||||
|  | ||||
| }).call(this); | ||||
							
								
								
									
										10
									
								
								library/sticky-kit/sticky-kit.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								library/sticky-kit/sticky-kit.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| /* | ||||
|  Sticky-kit v1.1.3 | MIT | Leaf Corcoran 2015 | http://leafo.net | ||||
| */ | ||||
| (function(){var c,f;c=window.jQuery;f=c(window);c.fn.stick_in_parent=function(b){var A,w,J,n,B,K,p,q,L,k,E,t;null==b&&(b={});t=b.sticky_class;B=b.inner_scrolling;E=b.recalc_every;k=b.parent;q=b.offset_top;p=b.spacer;w=b.bottoming;null==q&&(q=0);null==k&&(k=void 0);null==B&&(B=!0);null==t&&(t="is_stuck");A=c(document);null==w&&(w=!0);L=function(a){var b;return window.getComputedStyle?(a=window.getComputedStyle(a[0]),b=parseFloat(a.getPropertyValue("width"))+parseFloat(a.getPropertyValue("margin-left"))+ | ||||
| parseFloat(a.getPropertyValue("margin-right")),"border-box"!==a.getPropertyValue("box-sizing")&&(b+=parseFloat(a.getPropertyValue("border-left-width"))+parseFloat(a.getPropertyValue("border-right-width"))+parseFloat(a.getPropertyValue("padding-left"))+parseFloat(a.getPropertyValue("padding-right"))),b):a.outerWidth(!0)};J=function(a,b,n,C,F,u,r,G){var v,H,m,D,I,d,g,x,y,z,h,l;if(!a.data("sticky_kit")){a.data("sticky_kit",!0);I=A.height();g=a.parent();null!=k&&(g=g.closest(k));if(!g.length)throw"failed to find stick parent"; | ||||
| v=m=!1;(h=null!=p?p&&a.closest(p):c("<div />"))&&h.css("position",a.css("position"));x=function(){var d,f,e;if(!G&&(I=A.height(),d=parseInt(g.css("border-top-width"),10),f=parseInt(g.css("padding-top"),10),b=parseInt(g.css("padding-bottom"),10),n=g.offset().top+d+f,C=g.height(),m&&(v=m=!1,null==p&&(a.insertAfter(h),h.detach()),a.css({position:"",top:"",width:"",bottom:""}).removeClass(t),e=!0),F=a.offset().top-(parseInt(a.css("margin-top"),10)||0)-q,u=a.outerHeight(!0),r=a.css("float"),h&&h.css({width:L(a), | ||||
| height:u,display:a.css("display"),"vertical-align":a.css("vertical-align"),"float":r}),e))return l()};x();if(u!==C)return D=void 0,d=q,z=E,l=function(){var c,l,e,k;if(!G&&(e=!1,null!=z&&(--z,0>=z&&(z=E,x(),e=!0)),e||A.height()===I||x(),e=f.scrollTop(),null!=D&&(l=e-D),D=e,m?(w&&(k=e+u+d>C+n,v&&!k&&(v=!1,a.css({position:"fixed",bottom:"",top:d}).trigger("sticky_kit:unbottom"))),e<F&&(m=!1,d=q,null==p&&("left"!==r&&"right"!==r||a.insertAfter(h),h.detach()),c={position:"",width:"",top:""},a.css(c).removeClass(t).trigger("sticky_kit:unstick")), | ||||
| B&&(c=f.height(),u+q>c&&!v&&(d-=l,d=Math.max(c-u,d),d=Math.min(q,d),m&&a.css({top:d+"px"})))):e>F&&(m=!0,c={position:"fixed",top:d},c.width="border-box"===a.css("box-sizing")?a.outerWidth()+"px":a.width()+"px",a.css(c).addClass(t),null==p&&(a.after(h),"left"!==r&&"right"!==r||h.append(a)),a.trigger("sticky_kit:stick")),m&&w&&(null==k&&(k=e+u+d>C+n),!v&&k)))return v=!0,"static"===g.css("position")&&g.css({position:"relative"}),a.css({position:"absolute",bottom:b,top:"auto"}).trigger("sticky_kit:bottom")}, | ||||
| y=function(){x();return l()},H=function(){G=!0;f.off("touchmove",l);f.off("scroll",l);f.off("resize",y);c(document.body).off("sticky_kit:recalc",y);a.off("sticky_kit:detach",H);a.removeData("sticky_kit");a.css({position:"",bottom:"",top:"",width:""});g.position("position","");if(m)return null==p&&("left"!==r&&"right"!==r||a.insertAfter(h),h.remove()),a.removeClass(t)},f.on("touchmove",l),f.on("scroll",l),f.on("resize",y),c(document.body).on("sticky_kit:recalc",y),a.on("sticky_kit:detach",H),setTimeout(l, | ||||
| 0)}};n=0;for(K=this.length;n<K;n++)b=this[n],J(c(b));return this}}).call(this); | ||||
| @@ -666,6 +666,8 @@ function updateConvItems(mode,data) { | ||||
| 		$('.item_' + bParam_mid.substring(0,32)).addClass('item-highlight'); | ||||
| 	} | ||||
|  | ||||
| 	$(document.body).trigger("sticky_kit:recalc"); | ||||
|  | ||||
| } | ||||
|  | ||||
| function collapseHeight() { | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| 	<header><?php if(x($page,'header')) echo $page['header']; ?></header> | ||||
| 	<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation"><?php if(x($page,'nav')) echo $page['nav']; ?></nav> | ||||
| 	<main> | ||||
| 		<aside id="region_1"><?php if(x($page,'aside')) echo $page['aside']; ?></aside> | ||||
| 		<aside id="region_1"><div id="left_aside_wrapper"><?php if(x($page,'aside')) echo $page['aside']; ?></div></aside> | ||||
| 		<section id="region_2"><?php if(x($page,'content')) echo $page['content']; ?> | ||||
| 					<div id="page-footer"></div> | ||||
| 			<div id="pause"></div> | ||||
|   | ||||
| @@ -26,6 +26,7 @@ head_add_js('library/jquery-textcomplete/jquery.textcomplete.js'); | ||||
| //head_add_js('library/colorbox/jquery.colorbox.js'); | ||||
| head_add_js('library/jquery.timeago.js'); | ||||
| head_add_js('library/readmore.js/readmore.js'); | ||||
| head_add_js('library/sticky-kit/sticky-kit.min.js'); | ||||
| //head_add_js('library/jquery_ac/friendica.complete.js'); | ||||
| //head_add_js('library/tiptip/jquery.tipTip.minified.js'); | ||||
| head_add_js('library/jgrowl/jquery.jgrowl_minimized.js'); | ||||
|   | ||||
| @@ -16,6 +16,23 @@ $(document).ready(function() { | ||||
| 	} | ||||
| 	$('#css3-calc').remove(); // Remove the test element | ||||
|  | ||||
| 	if($(window).outerWidth() > 767) { | ||||
| 		$('#left_aside_wrapper').stick_in_parent({ | ||||
| 			offset_top: $('nav').outerHeight(true) | ||||
| 		}); | ||||
| 	} | ||||
|  | ||||
| 	$(window).resize(function() { | ||||
| 		if($(window).outerWidth() > 767) { | ||||
| 			$('#left_aside_wrapper').stick_in_parent({ | ||||
| 				offset_top: $('nav').outerHeight(true) | ||||
| 			}); | ||||
| 		} | ||||
| 		else { | ||||
| 			$('#left_aside_wrapper').trigger("sticky_kit:detach"); | ||||
| 		} | ||||
| 	}); | ||||
|  | ||||
| 	$('#expand-aside').click(function() { | ||||
| 		$('#expand-aside-icon').toggleClass('fa-arrow-circle-right').toggleClass('fa-arrow-circle-left'); | ||||
| 		$('main').toggleClass('region_1-on'); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user