Hier ist eine einfache jQuery-Plugin, das für Sie arbeiten sollten:
(function($) {
$.fn.scrollToast = function(options) {
var settings = options || {};
var offset = settings.offset;
var toast = settings.toast;
var $toast = $(toast);
var hidden = true;
// prepare the toast:
$toast.css({
display: 'none',
position: 'fixed',
top: '0px',
left: '0px',
zIindex: '1',
overflow: 'hidden'
});
this.bind("scroll", function($event) {
var top = $(this).scrollTop();
if ((top >= offset && hidden) || (top < offset && !hidden)) {
hidden = !hidden;
$toast.animate(
{width: "toggle"});
}
});
};
})(jQuery);
Nutzungs: bis $(window).scrollToast({toast: "#toast", offset: 50});
, wo #toast
ist ein Selektor anzeigt, das Element heraus zu schieben, und offset
ist, wie lange wollen Sie den Benutzer scrollen, bevor der Toast erscheint.
Hinweise:
- Verwendet CSS
position:fixed
und eine erhöhte z-index
auf das Toast Element auf andere Inhalte erscheinen.
- Wenn das Zielelement auf einen Wert gleich oder über
offset
gescrollt wird, wird das Toast-Element herausgezogen (es ist zunächst ausgeblendet).
- Wenn das Zielelement auf einen Wert von weniger als
offset
der Toast Element in geschoben gescrollt zurück.
- leicht erweitert werden, um den Toast auf dem anderen Rande des Bildschirms oder der Ober- oder Unterseite zu zeigen.
- Funktioniert wahrscheinlich auf jedem scrollbaren Element, aber ich habe
$(window)
verwendet, weil es scheint, den Anwendungsfall, den Sie beschrieben, zu passen.
ein funktionsfähiges Beispiel Siehe hier: http://jsfiddle.net/andrewwhitaker/56dTA/
dass genial, dude! Edit: Verdammt, hab nicht genug Saft, um dich zu wählen - Entschuldigung. – Tree
@Tree: Kein Problem! Froh, dass ich Helfen kann. –