{{indexmenu_n>10}} ====== To Top Link ====== **Ein Toplink Button erscheint autom. auf der Seite (fade in/out) wenn etwa 2/3 der Seitenlänge durch das Scrollen erreicht sind. ** Der "harte" Sprung zum Seitenanfang wird durch ein "SmoothScroll" ersetzt. Der User sieht also dass die Seite nach oben rollt. \\ **Idee:** David Walsh [[http://davidwalsh.name/jquery-top-link/|jQuery topLink Plugin]] \\ **Umgesetzt von:** Matt Varone [[http://www.mattvarone.com/]] \\ **Beispiel:** [[http://lab.mattvarone.com/projects/jquery/totop/|UItoTop jQuery dynamic scroll-to-Top plugin]] \\ {{:deutsch:andere-erweiterungen:jquery:fe_jquery_totop_1.gif|}} \\ Docu: -- \\ Forum: -- **Autor:** Matt Varone \\ wiki-Autor: K.Heermann (flip-flop) http://planmatrix.de) 27.07.2011\\ **CMS Version:** >= 1.4.7 (r4xx) \\ **Version:** V1.0 \\ Tag: -- \\ **Dateinamen:** * template/lib/jquery/plugin/jquery.ui.totop.js * template/lib/jquery/plugin/jquery.ui.head.totop.js * template/img/jquery/ui.totop.png * template/inc_css/specific/jquery/ui.totop.css **Verzeichnis:** template/lib/jquery/plugin/ **Bedingung:** -> [[http://www.phpwcms-docu.de/confincphp_de.phtml|/config/phpwcms/conf.inc.php]] \\ * $phpwcms['allow_cntPHP_rt'] = 1; * JS im Browser eingeschaltet \\ ===== Beschreibung: ===== Der JS-Code, die CSS-Datei und das Buttonbild werden in den oben angegebenen Verzeichnissen abgelegt. * In der betreffenden Vorlage wird bei **JS Bibliothek:** ##jQuery 1.3 oder 1.4## gewählt. * Im HTML-Kopf der Vorlage wird die CSS-Datei geladen mit * In der Vorlage werden in "HAUPT:" an irgendeiner Stelle die JS-Plugins initialisiert * Das Bild für den Button wird in "template/img/jquery/ui.totop.png" abgelegt. \\ ==== Vorlage: ==== {{:deutsch:andere-erweiterungen:jquery:be_jquery_totop_1.gif|}} \\ \\ ===== JS-Code ===== **Datei** ##template/lib/jquery/plugin/jquery.ui.totop.js## /* |-------------------------------------------------------------------------- | UItoTop jQuery Plugin 1.1 | http://www.mattvarone.com/web-design/uitotop-jquery-plugin/ |-------------------------------------------------------------------------- */ (function($){ $.fn.UItoTop = function(options) { var defaults = { text: 'To Top', min: 200, inDelay:600, outDelay:400, containerID: 'toTop', containerHoverID: 'toTopHover', scrollSpeed: 1200, easingType: 'linear' }; var settings = $.extend(defaults, options); var containerIDhash = '#' + settings.containerID; var containerHoverIDHash = '#'+settings.containerHoverID; $('body').append(''+settings.text+''); $(containerIDhash).hide().click(function(){ $('html, body').animate({scrollTop:0}, settings.scrollSpeed, settings.easingType); $('#'+settings.containerHoverID, this).stop().animate({'opacity': 0 }, settings.inDelay, settings.easingType); return false; }) .prepend('') .hover(function() { $(containerHoverIDHash, this).stop().animate({ 'opacity': 1 }, 600, 'linear'); }, function() { $(containerHoverIDHash, this).stop().animate({ 'opacity': 0 }, 700, 'linear'); }); $(window).scroll(function() { var sd = $(window).scrollTop(); if(typeof document.body.style.maxHeight === "undefined") { $(containerIDhash).css({ 'position': 'absolute', 'top': $(window).scrollTop() + $(window).height() - 50 }); } if ( sd > settings.min ) $(containerIDhash).fadeIn(settings.inDelay); else $(containerIDhash).fadeOut(settings.Outdelay); }); }; })(jQuery); \\ **Datei** ##template/lib/jquery/plugin/jquery.ui.totop.head.js## Dieser JS-Snipsel wird normalerweise direkt in den HEAD-Bereich der Seite eingetragen. \\ Um die richtige Skriptreihenfolge einhalten zu können lagern wird diesen Teil als Plugin aus. \\ Dieses Plugin kann nun in der richtigen Reihenfolge geladen werden. //(siehe oben im Text: "JS-Plugins initialisieren")//. /* |-------------------------------------------------------------------------- | UItoTop jQuery Plugin 1.1 | http://www.mattvarone.com/web-design/uitotop-jquery-plugin/ |-------------------------------------------------------------------------- The head snipped */ $(document).ready(function() { /* var defaults = { containerID: 'moccaUItoTop', // fading element id containerHoverClass: 'moccaUIhover', // fading element hover class scrollSpeed: 1200, easingType: 'linear' }; */ $().UItoTop({ easingType: 'easeOutQuart' }); }); \\ ===== CSS ===== **Datei** ##template/inc_css/specific/jquery/ui.totop.css## /* |-------------------------------------------------------------------------- | UItoTop jQuery Plugin 1.1 | http://www.mattvarone.com/web-design/uitotop-jquery-plugin/ |-------------------------------------------------------------------------- */ #toTop { display:none; text-decoration:none; position:fixed; bottom:10px; right:10px; overflow:hidden; width:51px; height:51px; border:none; text-indent:-999px; background:url(../../../img/jquery/ui.totop.png) no-repeat left top; } #toTopHover { background:url(../../../img/jquery/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); } #toTop:active, #toTop:focus { outline:none; } \\ ==== Download ==== {{:deutsch:andere-erweiterungen:jquery:jquery_totop.zip|jquery_totop.zip}} \\