/* UItoTop jQuery Plugin 1.2 | Matt Varone | 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: 1000,
easingType: "linear",
},
settings = $.extend(defaults, options),
containerIDhash = "#" + settings.containerID,
containerHoverIDHash = "#" + settings.containerHoverID;
$("body").append(
'' + settings.text + ""
);
$(containerIDhash)
.hide()
.on("click.UItoTop", 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: sd + $(window).height() - 50,
});
}
if (sd > settings.min) $(containerIDhash).fadeIn(settings.inDelay);
else $(containerIDhash).fadeOut(settings.Outdelay);
});
};
})(jQuery);