<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.returntogilead.com/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-ScrollingSidebar.js</id>
	<title>MediaWiki:Gadget-ScrollingSidebar.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.returntogilead.com/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-ScrollingSidebar.js"/>
	<link rel="alternate" type="text/html" href="http://wiki.returntogilead.com/index.php?title=MediaWiki:Gadget-ScrollingSidebar.js&amp;action=history"/>
	<updated>2026-04-08T15:11:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.0</generator>
	<entry>
		<id>http://wiki.returntogilead.com/index.php?title=MediaWiki:Gadget-ScrollingSidebar.js&amp;diff=125&amp;oldid=prev</id>
		<title>Scientific Guy: Created page with &quot;/**  * Scroll the sidebar with the rest of the content window  * From AIOWiki.com: authors Reddo (Mark Redekop) and Eugene (Matthew Bird)  *  */ ( function( $ ) { 	var $body, $window, $sidebar, adminbarOffset, top = false, 	    bottom = false, windowWidth, windowHeight, lastWindowPos = 0, 	    topOffset = 0, bodyHeight, sidebarHeight, resizeTimer, 	    secondary, button; 	function onResizeARIA() { 		/*if ( 955 &gt; $window.width() ) { 			button.attr( &#039;aria-expanded&#039;, &#039;false...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.returntogilead.com/index.php?title=MediaWiki:Gadget-ScrollingSidebar.js&amp;diff=125&amp;oldid=prev"/>
		<updated>2022-06-03T14:27:49Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;*  * Scroll the sidebar with the rest of the content window  * From AIOWiki.com: authors Reddo (Mark Redekop) and Eugene (Matthew Bird)  *: &lt;/span&gt; ( function( $ ) { 	var $body, $window, $sidebar, adminbarOffset, top = false, 	    bottom = false, windowWidth, windowHeight, lastWindowPos = 0, 	    topOffset = 0, bodyHeight, sidebarHeight, resizeTimer, 	    secondary, button; 	function onResizeARIA() { 		/*if ( 955 &amp;gt; $window.width() ) { 			button.attr( &amp;#039;aria-expanded&amp;#039;, &amp;#039;false...&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * Scroll the sidebar with the rest of the content window&lt;br /&gt;
 * From AIOWiki.com: authors Reddo (Mark Redekop) and Eugene (Matthew Bird)&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
( function( $ ) {&lt;br /&gt;
	var $body, $window, $sidebar, adminbarOffset, top = false,&lt;br /&gt;
	    bottom = false, windowWidth, windowHeight, lastWindowPos = 0,&lt;br /&gt;
	    topOffset = 0, bodyHeight, sidebarHeight, resizeTimer,&lt;br /&gt;
	    secondary, button;&lt;br /&gt;
	function onResizeARIA() {&lt;br /&gt;
		/*if ( 955 &amp;gt; $window.width() ) {&lt;br /&gt;
			button.attr( &amp;#039;aria-expanded&amp;#039;, &amp;#039;false&amp;#039; );&lt;br /&gt;
			secondary.attr( &amp;#039;aria-expanded&amp;#039;, &amp;#039;false&amp;#039; );&lt;br /&gt;
			button.attr( &amp;#039;aria-controls&amp;#039;, &amp;#039;secondary&amp;#039; );&lt;br /&gt;
		} else {&lt;br /&gt;
			button.removeAttr( &amp;#039;aria-expanded&amp;#039; );&lt;br /&gt;
			secondary.removeAttr( &amp;#039;aria-expanded&amp;#039; );&lt;br /&gt;
			button.removeAttr( &amp;#039;aria-controls&amp;#039; );&lt;br /&gt;
		}*/&lt;br /&gt;
	}&lt;br /&gt;
	// Sidebar scrolling.&lt;br /&gt;
	function resize() {&lt;br /&gt;
		windowWidth = $window.width();&lt;br /&gt;
&lt;br /&gt;
		if ( 955 &amp;gt; windowWidth ) {&lt;br /&gt;
			top = bottom = false;&lt;br /&gt;
			$sidebar.removeAttr( &amp;#039;style&amp;#039; );&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function scroll() {&lt;br /&gt;
		var windowPos = $window.scrollTop();&lt;br /&gt;
&lt;br /&gt;
		if ( 955 &amp;gt; windowWidth ) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		sidebarHeight = $sidebar.height() + 20;&lt;br /&gt;
		windowHeight  = $window.height();&lt;br /&gt;
		bodyHeight    = $body.height();&lt;br /&gt;
&lt;br /&gt;
		if ( sidebarHeight + adminbarOffset &amp;gt; windowHeight ) {&lt;br /&gt;
			if ( windowPos &amp;gt; lastWindowPos ) {&lt;br /&gt;
				if ( top ) {&lt;br /&gt;
					top = false;&lt;br /&gt;
					topOffset = ( $sidebar.offset().top &amp;gt; 0 ) ? $sidebar.offset().top - adminbarOffset : 0;&lt;br /&gt;
					$sidebar.attr( &amp;#039;style&amp;#039;, &amp;#039;top: &amp;#039; + topOffset + &amp;#039;px;&amp;#039; );&lt;br /&gt;
				} else if ( ! bottom &amp;amp;&amp;amp; windowPos + windowHeight &amp;gt; sidebarHeight + $sidebar.offset().top &amp;amp;&amp;amp; sidebarHeight + adminbarOffset &amp;lt; bodyHeight ) {&lt;br /&gt;
					bottom = true;&lt;br /&gt;
					$sidebar.attr( &amp;#039;style&amp;#039;, &amp;#039;position: fixed; bottom: 0; top: unset;&amp;#039; );&lt;br /&gt;
				}&lt;br /&gt;
			} else if ( windowPos &amp;lt; lastWindowPos ) {&lt;br /&gt;
				if ( bottom ) {&lt;br /&gt;
					bottom = false;&lt;br /&gt;
					topOffset = ( $sidebar.offset().top &amp;gt; 0 ) ? $sidebar.offset().top - adminbarOffset : 0;&lt;br /&gt;
					$sidebar.attr( &amp;#039;style&amp;#039;, &amp;#039;top: &amp;#039; + topOffset + &amp;#039;px;&amp;#039; );&lt;br /&gt;
				} else if ( ! top &amp;amp;&amp;amp; windowPos + adminbarOffset &amp;lt; $sidebar.offset().top ) {&lt;br /&gt;
					top = true;&lt;br /&gt;
					$sidebar.attr( &amp;#039;style&amp;#039;, &amp;#039;position: fixed;&amp;#039; );&lt;br /&gt;
				}&lt;br /&gt;
			} else {&lt;br /&gt;
				top = bottom = false;&lt;br /&gt;
				topOffset = ( $sidebar.offset().top &amp;gt; 0 ) ? $sidebar.offset().top - adminbarOffset : 0;&lt;br /&gt;
				$sidebar.attr( &amp;#039;style&amp;#039;, &amp;#039;top: &amp;#039; + topOffset + &amp;#039;px;&amp;#039; );&lt;br /&gt;
			}&lt;br /&gt;
		} else if ( ! top ) {&lt;br /&gt;
			top = true;&lt;br /&gt;
			$sidebar.attr( &amp;#039;style&amp;#039;, &amp;#039;position: fixed;&amp;#039; );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		lastWindowPos = windowPos;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function resizeAndScroll() {&lt;br /&gt;
		resize();&lt;br /&gt;
		scroll();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$( document ).ready( function() {&lt;br /&gt;
		$body          = $( document.body );&lt;br /&gt;
		$window        = $( window );&lt;br /&gt;
		$sidebar       = $( &amp;#039;#mw-panel&amp;#039; ).first();&lt;br /&gt;
		adminbarOffset = $body.is( &amp;#039;.admin-bar&amp;#039; ) ? $( &amp;#039;#wpadminbar&amp;#039; ).height() : 0;&lt;br /&gt;
&lt;br /&gt;
		$window&lt;br /&gt;
			.on( &amp;#039;scroll&amp;#039;, scroll )&lt;br /&gt;
			/* .on( &amp;#039;load&amp;#039;, onResizeARIA ) */&lt;br /&gt;
			.on( &amp;#039;resize&amp;#039;, function() {&lt;br /&gt;
				clearTimeout( resizeTimer );&lt;br /&gt;
				resizeTimer = setTimeout( resizeAndScroll, 500 );&lt;br /&gt;
				onResizeARIA();&lt;br /&gt;
			} );&lt;br /&gt;
		$sidebar.on( &amp;#039;click keydown&amp;#039;, &amp;#039;button&amp;#039;, resizeAndScroll );&lt;br /&gt;
&lt;br /&gt;
		resizeAndScroll();&lt;br /&gt;
&lt;br /&gt;
		for ( var i = 1; i &amp;lt; 6; i++ ) {&lt;br /&gt;
			setTimeout( resizeAndScroll, 100 * i );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		function injectStyles(rule) {&lt;br /&gt;
			var div = $(&amp;quot;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;, {&lt;br /&gt;
			  html: &amp;#039;&amp;amp;shy;&amp;lt;style&amp;gt;&amp;#039; + rule + &amp;#039;&amp;lt;/style&amp;gt;&amp;#039;&lt;br /&gt;
			}).appendTo(&amp;quot;body&amp;quot;);    &lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		injectStyles(&amp;#039;html { height: unset; } #mw-panel { padding-bottom: 20px; }&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	} );&lt;br /&gt;
} )( jQuery );&lt;/div&gt;</summary>
		<author><name>Scientific Guy</name></author>
	</entry>
</feed>