snipt

Ctrl+h for KB shortcuts

HTML

back to top button

<!-- version: 1.3 (2013/12/01) - added lines: 46-51 (animated version) -->
<!-- version: 1.2 (2013/01/28) - edited line: 41 (added .stop) -->
<!-- ---------- HTML ---------- -->
..
<header>
	...
    <nav>..</nav>
	...
</header>
...
<a href="#" id="archer"></a>
...
<!-- ---------- /HTML ---------- -->

<!-- ---------- CSS ---------- -->

<style type="text/css">
#archer{
	display: none;		/* we dont show the button while menu is visible */
	width: 80px;
	height: 80px;
	background: url(/images/backToTop.png) center center no-repeat;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 999;		/* to be at the top of all elements */
}
</style>

<!-- ---------- /CSS ---------- -->

<!-- ---------- JS ---------- -->

<script type="text/javascript">
$(window).scroll(function(){ 					//after scroll
	var docViewTop = $(window).scrollTop();		//get top of visible part of page
	var elemTop = $('header nav').offset().top;	//get top of menu/navigation
	if ( !( elemTop >= docViewTop ) ){			//if top of navigation is not in visible part of page
		$('#archer').fadeIn();					//show the 'back to top' button
	}
	else{
		$('#archer').stop().fadeOut();					//else dont show the button (or hide if its showed)
	}
});

$('#archer').click(function(){					//click on button cause..
	$('html, body').animate({
	    scrollTop: $('body').offset().top		//..the window is scrolling to top
 	}, 200);
	return false;								//'return false' to dont write char '#' to the end of an URL in the browser
});

    //or non animate version:
    //$('#archer').click(function(){					//click on button cause..
    //	$(window).scrollTop(0);						//..the window is scrolling to top
    //	return false;								//'return false' to dont write char '#' to the end of an URL in the browser
    //});
</script>

<!-- ---------- /JS ---------- -->
https://snipt.net/embed/3f3407d3ea8ef0b32b1fcc9f1e6589ea/
/raw/3f3407d3ea8ef0b32b1fcc9f1e6589ea/
3f3407d3ea8ef0b32b1fcc9f1e6589ea
html
HTML
60
2019-07-18T01:18:18
True
False
False
/api/public/snipt/52626/
back-to-top-button
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a> <a href="#L-19">19</a> <a href="#L-20">20</a> <a href="#L-21">21</a> <a href="#L-22">22</a> <a href="#L-23">23</a> <a href="#L-24">24</a> <a href="#L-25">25</a> <a href="#L-26">26</a> <a href="#L-27">27</a> <a href="#L-28">28</a> <a href="#L-29">29</a> <a href="#L-30">30</a> <a href="#L-31">31</a> <a href="#L-32">32</a> <a href="#L-33">33</a> <a href="#L-34">34</a> <a href="#L-35">35</a> <a href="#L-36">36</a> <a href="#L-37">37</a> <a href="#L-38">38</a> <a href="#L-39">39</a> <a href="#L-40">40</a> <a href="#L-41">41</a> <a href="#L-42">42</a> <a href="#L-43">43</a> <a href="#L-44">44</a> <a href="#L-45">45</a> <a href="#L-46">46</a> <a href="#L-47">47</a> <a href="#L-48">48</a> <a href="#L-49">49</a> <a href="#L-50">50</a> <a href="#L-51">51</a> <a href="#L-52">52</a> <a href="#L-53">53</a> <a href="#L-54">54</a> <a href="#L-55">55</a> <a href="#L-56">56</a> <a href="#L-57">57</a> <a href="#L-58">58</a> <a href="#L-59">59</a> <a href="#L-60">60</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="c">&lt;!-- version: 1.3 (2013/12/01) - added lines: 46-51 (animated version) --&gt;</span> </span><span id="L-2"><a name="L-2"></a><span class="c">&lt;!-- version: 1.2 (2013/01/28) - edited line: 41 (added .stop) --&gt;</span> </span><span id="L-3"><a name="L-3"></a><span class="c">&lt;!-- ---------- HTML ---------- --&gt;</span> </span><span id="L-4"><a name="L-4"></a>.. </span><span id="L-5"><a name="L-5"></a><span class="p">&lt;</span><span class="nt">header</span><span class="p">&gt;</span> </span><span id="L-6"><a name="L-6"></a> ... </span><span id="L-7"><a name="L-7"></a> <span class="p">&lt;</span><span class="nt">nav</span><span class="p">&gt;</span>..<span class="p">&lt;/</span><span class="nt">nav</span><span class="p">&gt;</span> </span><span id="L-8"><a name="L-8"></a> ... </span><span id="L-9"><a name="L-9"></a><span class="p">&lt;/</span><span class="nt">header</span><span class="p">&gt;</span> </span><span id="L-10"><a name="L-10"></a>... </span><span id="L-11"><a name="L-11"></a><span class="p">&lt;</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">&quot;#&quot;</span> <span class="na">id</span><span class="o">=</span><span class="s">&quot;archer&quot;</span><span class="p">&gt;&lt;/</span><span class="nt">a</span><span class="p">&gt;</span> </span><span id="L-12"><a name="L-12"></a>... </span><span id="L-13"><a name="L-13"></a><span class="c">&lt;!-- ---------- /HTML ---------- --&gt;</span> </span><span id="L-14"><a name="L-14"></a> </span><span id="L-15"><a name="L-15"></a><span class="c">&lt;!-- ---------- CSS ---------- --&gt;</span> </span><span id="L-16"><a name="L-16"></a> </span><span id="L-17"><a name="L-17"></a><span class="p">&lt;</span><span class="nt">style</span> <span class="na">type</span><span class="o">=</span><span class="s">&quot;text/css&quot;</span><span class="p">&gt;</span> </span><span id="L-18"><a name="L-18"></a><span class="nn">#archer</span><span class="p">{</span> </span><span id="L-19"><a name="L-19"></a> <span class="nb">display</span><span class="o">:</span> <span class="nb">none</span><span class="p">;</span> <span class="c">/* we dont show the button while menu is visible */</span> </span><span id="L-20"><a name="L-20"></a> <span class="nb">width</span><span class="o">:</span> <span class="m">80px</span><span class="p">;</span> </span><span id="L-21"><a name="L-21"></a> <span class="nb">height</span><span class="o">:</span> <span class="m">80px</span><span class="p">;</span> </span><span id="L-22"><a name="L-22"></a> <span class="nb">background</span><span class="o">:</span> <span class="sx">url(/images/backToTop.png)</span> <span class="nb">center</span> <span class="nb">center</span> <span class="nb">no-repeat</span><span class="p">;</span> </span><span id="L-23"><a name="L-23"></a> <span class="nb">position</span><span class="o">:</span> <span class="nb">fixed</span><span class="p">;</span> </span><span id="L-24"><a name="L-24"></a> <span class="nb">bottom</span><span class="o">:</span> <span class="m">20px</span><span class="p">;</span> </span><span id="L-25"><a name="L-25"></a> <span class="nb">right</span><span class="o">:</span> <span class="m">20px</span><span class="p">;</span> </span><span id="L-26"><a name="L-26"></a> <span class="nb">z-index</span><span class="o">:</span> <span class="m">999</span><span class="p">;</span> <span class="c">/* to be at the top of all elements */</span> </span><span id="L-27"><a name="L-27"></a><span class="p">}</span> </span><span id="L-28"><a name="L-28"></a><span class="p">&lt;/</span><span class="nt">style</span><span class="p">&gt;</span> </span><span id="L-29"><a name="L-29"></a> </span><span id="L-30"><a name="L-30"></a><span class="c">&lt;!-- ---------- /CSS ---------- --&gt;</span> </span><span id="L-31"><a name="L-31"></a> </span><span id="L-32"><a name="L-32"></a><span class="c">&lt;!-- ---------- JS ---------- --&gt;</span> </span><span id="L-33"><a name="L-33"></a> </span><span id="L-34"><a name="L-34"></a><span class="p">&lt;</span><span class="nt">script</span> <span class="na">type</span><span class="o">=</span><span class="s">&quot;text/javascript&quot;</span><span class="p">&gt;</span> </span><span id="L-35"><a name="L-35"></a><span class="nx">$</span><span class="p">(</span><span class="nb">window</span><span class="p">).</span><span class="nx">scroll</span><span class="p">(</span><span class="kd">function</span><span class="p">(){</span> <span class="c1">//after scroll</span> </span><span id="L-36"><a name="L-36"></a> <span class="kd">var</span> <span class="nx">docViewTop</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="nb">window</span><span class="p">).</span><span class="nx">scrollTop</span><span class="p">();</span> <span class="c1">//get top of visible part of page</span> </span><span id="L-37"><a name="L-37"></a> <span class="kd">var</span> <span class="nx">elemTop</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;header nav&#39;</span><span class="p">).</span><span class="nx">offset</span><span class="p">().</span><span class="nx">top</span><span class="p">;</span> <span class="c1">//get top of menu/navigation</span> </span><span id="L-38"><a name="L-38"></a> <span class="k">if</span> <span class="p">(</span> <span class="o">!</span><span class="p">(</span> <span class="nx">elemTop</span> <span class="o">&gt;=</span> <span class="nx">docViewTop</span> <span class="p">)</span> <span class="p">){</span> <span class="c1">//if top of navigation is not in visible part of page</span> </span><span id="L-39"><a name="L-39"></a> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#archer&#39;</span><span class="p">).</span><span class="nx">fadeIn</span><span class="p">();</span> <span class="c1">//show the &#39;back to top&#39; button</span> </span><span id="L-40"><a name="L-40"></a> <span class="p">}</span> </span><span id="L-41"><a name="L-41"></a> <span class="k">else</span><span class="p">{</span> </span><span id="L-42"><a name="L-42"></a> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#archer&#39;</span><span class="p">).</span><span class="nx">stop</span><span class="p">().</span><span class="nx">fadeOut</span><span class="p">();</span> <span class="c1">//else dont show the button (or hide if its showed)</span> </span><span id="L-43"><a name="L-43"></a> <span class="p">}</span> </span><span id="L-44"><a name="L-44"></a><span class="p">});</span> </span><span id="L-45"><a name="L-45"></a> </span><span id="L-46"><a name="L-46"></a><span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#archer&#39;</span><span class="p">).</span><span class="nx">click</span><span class="p">(</span><span class="kd">function</span><span class="p">(){</span> <span class="c1">//click on button cause..</span> </span><span id="L-47"><a name="L-47"></a> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;html, body&#39;</span><span class="p">).</span><span class="nx">animate</span><span class="p">({</span> </span><span id="L-48"><a name="L-48"></a> <span class="nx">scrollTop</span><span class="o">:</span> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;body&#39;</span><span class="p">).</span><span class="nx">offset</span><span class="p">().</span><span class="nx">top</span> <span class="c1">//..the window is scrolling to top</span> </span><span id="L-49"><a name="L-49"></a> <span class="p">},</span> <span class="mi">200</span><span class="p">);</span> </span><span id="L-50"><a name="L-50"></a> <span class="k">return</span> <span class="kc">false</span><span class="p">;</span> <span class="c1">//&#39;return false&#39; to dont write char &#39;#&#39; to the end of an URL in the browser</span> </span><span id="L-51"><a name="L-51"></a><span class="p">});</span> </span><span id="L-52"><a name="L-52"></a> </span><span id="L-53"><a name="L-53"></a> <span class="c1">//or non animate version:</span> </span><span id="L-54"><a name="L-54"></a> <span class="c1">//$(&#39;#archer&#39;).click(function(){ //click on button cause..</span> </span><span id="L-55"><a name="L-55"></a> <span class="c1">// $(window).scrollTop(0); //..the window is scrolling to top</span> </span><span id="L-56"><a name="L-56"></a> <span class="c1">// return false; //&#39;return false&#39; to dont write char &#39;#&#39; to the end of an URL in the browser</span> </span><span id="L-57"><a name="L-57"></a> <span class="c1">//});</span> </span><span id="L-58"><a name="L-58"></a><span class="p">&lt;/</span><span class="nt">script</span><span class="p">&gt;</span> </span><span id="L-59"><a name="L-59"></a> </span><span id="L-60"><a name="L-60"></a><span class="c">&lt;!-- ---------- /JS ---------- --&gt;</span> </span></pre></div> </td></tr></table>
button, css, jquery, position, scrolling