NAVIGATION
Ein Toplink Button erscheint autom. auf der Seite (fade in/out) wenn etwa 2/3 der Seitenlänge durch das Scrollen erreicht sind.
V 1.30: Der Sprung an den Seitenanfang ist als optischer “harter Sprung ausgebildet”, wie bei einem normalen Link zu einem Anker.
Update 27.07.2011:
V 1.31 Der “harte” Sprung zum Seitenanfang wird durch ein “SmoothScroll” ersetzt. Der User sieht also dass die Seite nach oben rollt.
<note>IE6 wird nicht unterstützt!!</note>
Idee: gonchuki und Nicolas Sanguinetti http://blog.gonchuki.com/archives/usability-101-adding-a-global-back-to-top-to-your-site/
Ergänzend: David Walsh "Top" Watermark Using MooTools
Beispiel: –
Docu: –
Forum: –
Autor: gonchuki und Nicolas Sanguinetti
wiki-Autor: K.Heermann (flip-flop) http://planmatrix.de) 27.07.2011
CMS Version: >= 1.4.7 (r4xx)
Version: V1.30
Update 27.07.2011 KH nach Version 1.3.1: Der “harte” Sprung zum Seitenanfang wird durch ein “SmoothScroll” ersetzt.
Tag: –
Dateinamen: * template/lib/mootools/plugin-1.2/mootools.back-to-top-1.2.js
Verzeichnis: template/lib/mootools/plugin-1.2 [plugin-1.3]
Bedingung: → /config/phpwcms/conf.inc.php
Der JS-Code, die CSS-Datei und das Buttonbild werden in den oben angegebenen Verzeichnissen abgelegt.
<link rel="stylesheet" type="text/css" href="template/inc_css/specific/mootools/back-to-top.css" />
<!-- JS: back-to-top-1.2 -->
oder
<!-- JS: back-to-top-1.3 -->
<!-- JS: MORE:Fx/Fx.Scroll -->
Version für Mootools V1.2
Datei template/lib/mootools/plugin-1.2/mootools.back-to-top-1.2.js
/** * back-to-top: unobtrusive global 'back to top' link using mootools 1.2.x * * copyright (c) 2007-2009 by gonchuki - http://blog.gonchuki.com * and Nicolas Sanguinetti - http://nicolassanguinetti.info * * version: 1.2 * released: November 11, 2007 * last modified: February 27, 2009 * * This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License. * http://creativecommons.org/licenses/by-sa/3.0/ */ // hide the effect from IE6, better not having it at all than being choppy. if (!Browser.Engine.trident4) { // element added onload for IE to avoid the "operation aborted" bug. not yet verified for IE8 as it's still on beta as of this modification. window.addEvent((Browser.Engine.trident ? 'load' : 'domready'), function(){ var target_opacity = 0.64; new Element('span', { 'id': 'back-to-top', 'styles': { opacity: target_opacity, display: 'none', position: 'fixed', bottom: 0, right: 0, cursor: 'pointer' }, 'text': 'back to top', 'tween': { duration: 200, onComplete: function(el) { if (el.get('opacity') == 0) el.setStyle('display', 'none')} }, 'events': {'click': function() { if (window.location.hash) { window.location.hash = '#top'; } else { window.scrollTo(0, 0); } }} }).inject(document.body); window.addEvent('scroll', function() { var visible = window.getScroll().y > (window.getSize().y * 0.8); if (visible == arguments.callee.prototype.last_state) return; // fade if supported if (Fx && Fx.Tween) { if (visible) $('back-to-top').fade('hide').setStyle('display', 'inline').fade(target_opacity); else $('back-to-top').fade('out'); } else { $('back-to-top').setStyle('display', (visible ? 'inline' : 'none')); } arguments.callee.prototype.last_state = visible }); }); }
Version für Mootools V1.3
Datei template/lib/mootools/plugin-1.3/mootools.back-to-top-1.3.js
/** * back-to-top: unobtrusive global 'back to top' link using mootools 1.2.x * * copyright (c) 2007-2009 by gonchuki - http://blog.gonchuki.com * and Nicolas Sanguinetti - http://nicolassanguinetti.info * * version: 1.2 * released: November 11, 2007 * last modified: February 27, 2009 * * This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License. * http://creativecommons.org/licenses/by-sa/3.0/ */ // hide the effect from IE6, better not having it at all than being choppy. //-KH v1.2 if (!Browser.Engine.trident4) { if (!(Browser.name == 'ie' && Browser.version == 6)) { // element added onload for IE to avoid the "operation aborted" bug. not yet verified for IE8 as it's still on beta as of this modification. //-KH v1.2 window.addEvent((Browser.Engine.trident ? 'load' : 'domready'), function(){ window.addEvent((Browser.name == 'ie' ? 'load' : 'domready'), function(){ var target_opacity = 0.64; new Element('span', { 'id': 'back-to-top', 'styles': { opacity: target_opacity, display: 'none', position: 'fixed', bottom: 0, right: 0, cursor: 'pointer' }, 'text': 'back to top', 'tween': { duration: 200, onComplete: function(el) { if (el.get('opacity') == 0) el.setStyle('display', 'none')} }, 'events': {'click': function() { if (window.location.hash) { window.location.hash = '#top'; } else { window.scrollTo(0, 0); } }} }).inject(document.body); window.addEvent('scroll', function() { var visible = window.getScroll().y > (window.getSize().y * 0.8); if (visible == arguments.callee.prototype.last_state) return; // fade if supported if (Fx && Fx.Tween) { if (visible) $('back-to-top').fade('hide').setStyle('display', 'inline').fade(target_opacity); else $('back-to-top').fade('out'); } else { $('back-to-top').setStyle('display', (visible ? 'inline' : 'none')); } arguments.callee.prototype.last_state = visible }); }); }
Version 1.31 für Mootools V1.2
Datei template/lib/mootools/plugin-1.2/mootools.back-to-top-1.2.js
/** * -------------------------------------------------------------------------- * back-to-top: unobtrusive global 'back to top' link using mootools 1.2.x * * copyright (c) 2007-2009 by gonchuki - http://blog.gonchuki.com * and Nicolas Sanguinetti - http://nicolassanguinetti.info * * version: 1.3 * released: November 11, 2007 * last modified: February 27, 2009 * version: 1.31 * last modified: July 28, 2011 KH: http://phpwcms-howto.de * * This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License. * http://creativecommons.org/licenses/by-sa/3.0/ * -------------------------------------------------------------------------- */ // hide the effect from IE6, better not having it at all than being choppy. if (!Browser.Engine.trident4) { // element added onload for IE to avoid the "operation aborted" bug. not yet verified for IE8 as it's still on beta as of this modification. window.addEvent((Browser.Engine.trident ? 'load' : 'domready'), function(){ var scrollUp = new Fx.Scroll(window); // +KH 28.07.2011 SmoothScroll var target_opacity = 0.64; new Element('span', { 'id': 'back-to-top', 'styles': { opacity: target_opacity, display: 'none', position: 'fixed', bottom: 0, right: 0, cursor: 'pointer' }, 'text': 'back to top', 'tween': { duration: 600, onComplete: function(el) { if (el.get('opacity') == 0) el.setStyle('display', 'none')} }, 'events': {'click': function() { // if (window.location.hash) { window.location.hash = '#top'; } // else { window.scrollTo(0, 0); } scrollUp.toTop(); //+KH: go to the top; }} }).inject(document.body); window.addEvent('scroll', function() { var visible = window.getScroll().y > (window.getSize().y * 0.7); if (visible == arguments.callee.prototype.last_state) return; // fade if supported if (Fx && Fx.Tween) { if (visible) $('back-to-top').fade('hide').setStyle('display', 'inline').fade(target_opacity); else $('back-to-top').fade('out'); } else { $('back-to-top').setStyle('display', (visible ? 'inline' : 'none')); } arguments.callee.prototype.last_state = visible }); }); }
Version 1.31 für Mootools V1.3
Datei template/lib/mootools/plugin-1.3/mootools.back-to-top-1.3.js
/** * -------------------------------------------------------------------------- * back-to-top: unobtrusive global 'back to top' link using mootools 1.3.x * * copyright (c) 2007-2009 by gonchuki - http://blog.gonchuki.com * and Nicolas Sanguinetti - http://nicolassanguinetti.info * * version: 1.3 * released: November 11, 2007 * last modified: February 27, 2009 * version: 1.31 * last modified: July 28, 2011 KH: http://phpwcms-howto.de * * This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License. * http://creativecommons.org/licenses/by-sa/3.0/ * -------------------------------------------------------------------------- */ // hide the effect from IE6, better not having it at all than being choppy. //-KH moo v1.2 if (!Browser.Engine.trident4) { if (!(Browser.name == 'ie' && Browser.version == 6)) { // element added onload for IE to avoid the "operation aborted" bug. not yet verified for IE8 as it's still on beta as of this modification. //-KH moo v1.2 window.addEvent((Browser.Engine.trident ? 'load' : 'domready'), function(){ window.addEvent((Browser.name == 'ie' ? 'load' : 'domready'), function(){ var scrollUp = new Fx.Scroll(window); // +KH 28.07.2011 SmoothScroll var target_opacity = 0.64; new Element('span', { 'id': 'back-to-top', 'styles': { opacity: target_opacity, display: 'none', position: 'fixed', bottom: 0, right: 0, cursor: 'pointer' }, 'text': 'back to top', 'tween': { duration: 600, onComplete: function(el) { if (el.get('opacity') == 0) el.setStyle('display', 'none')} }, 'events': {'click': function() { // if (window.location.hash) { window.location.hash = '#top'; } // else { window.scrollTo(0, 0); } scrollUp.toTop(); //+KH: go to the top; }} }).inject(document.body); window.addEvent('scroll', function() { var visible = window.getScroll().y > (window.getSize().y * 0.7); if (visible == arguments.callee.prototype.last_state) return; // fade if supported if (Fx && Fx.Tween) { if (visible) $('back-to-top').fade('hide').setStyle('display', 'inline').fade(target_opacity); else $('back-to-top').fade('out'); } else { $('back-to-top').setStyle('display', (visible ? 'inline' : 'none')); } arguments.callee.prototype.last_state = visible }); }); }
Datei template/inc_css/specific/mootools/back-to-top.css
/** * back-to-top: unobtrusive global 'back to top' link using mootools * * copyright (c) 2007-2009 by gonchuki - http://blog.gonchuki.com * and Nicolas Sanguinetti - http://nicolassanguinetti.info * * Enhanced by KH 27.07.2011: link button instead of link text. */ #back-to-top { /* background: #666 url(../../../img/mootools/triangle-gray-up.png) no-repeat right center; color: #fff; font: bold 14px Arial, Helvetica, sans-serif; padding: 3px 17px 3px 7px; */ background:url(../../../img/mootools/ui.totop.png) no-repeat left top; margin:10px; position:fixed; bottom:10px; right:10px; overflow:hidden; width:51px; height:51px; border:none; text-indent:-999px; display:none; text-decoration:none; } #back-to-top:hover { background:url(../../../img/mootools/ui.totop.png) no-repeat left -51px; width:51px; height:51px; display:block; overflow:hidden; float:left; opacity: 0; -moz-opacity: 0; filter:alpha(opacity=0); }
Version 1.30: mootools_totop_v130.zip (42.63 KiB, 86 downloads)
Version 1.31: mootools_totop_v131.zip (42.85 KiB, 116 downloads) (mit SmoothScroll)