-
Notifications
You must be signed in to change notification settings - Fork 19
/
jquery.scroll.pack.js
112 lines (92 loc) · 2.31 KB
/
jquery.scroll.pack.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*-----------------------
* jQuery Plugin: Scroll to Top
* by Craig Wilson, Ph.Creative http://www.ph-creative.com
*
* Copyright (c) 2009 Ph.Creative Ltd.
* Licensed under the MIT License http://www.opensource.org/licenses/mit-license.php
*
* Description: Adds an unobtrusive "Scroll to Top" link to your page with smooth scrolling.
* For usage instructions and version updates to go http://blog.ph-creative.com/post/jquery-plugin-scroll-to-top-v3.aspx
*
* Version: 3.1, 29/07/2010
-----------------------*/
function UP(speed,ease){
$("html, body").animate({scrollTop:"0"},speed,ease,function() {inProgress="no"});
}
function DOWN(speed,ease){
$("html, body").animate({scrollTop:$(document).height()},speed,ease,function() {inProgress="no"});
}
(function($){
$.fn.extend({scrollToTop:function(options){
var defaults={speed:"slow",ease:"jswing",start:0}
var options=$.extend(defaults,options);
return this.each(function(){var o=options;var scrollDiv=$(this);
$(this).hide().removeAttr("href").css("cursor","pointer");
if(o.stbb=="flip"){
if($(window).scrollTop()>=o.flip){
$(this).rotateAnimation(0);
o.direction="up";
};
if($(window).scrollTop()<o.flip){
$(this).rotateAnimation(-180);
o.direction="down";
};
};
if($(window).scrollTop()>=o.start){
$(this).fadeIn("slow");}$(window).scroll(function(){
if($(window).scrollTop()>=o.start){
$(scrollDiv).fadeIn("slow");}else{
$(scrollDiv).fadeOut("slow");
}
if(o.stbb=="flip"){
if($(window).scrollTop()>=o.flip){
$(this).rotateAnimation(0);
o.direction="up";
};
if($(window).scrollTop()<o.flip){
$(this).rotateAnimation(-180);
o.direction="down";
};
};
});
inProgress="no";
if((o.stbb=="flip") || (o.stbb=="dual")){
scrollDiv.click(function(event){
if(inProgress=="yes"){
$("html, body").stop();
inProgress="no";
}
else if(o.direction=="up"){
inProgress="yes";
speed=o.speed;
ease=o.ease;
UP(speed,ease);
$(this).fadeTo("medium", 0.5);
}
else if(o.direction=="down"){
inProgress="yes";
speed=o.speed;
ease=o.ease;
DOWN(speed,ease);
$(this).fadeTo("medium", 0.5);
}
})
}
else if(o.stbb=="off"){
scrollDiv.click(function(event){
if(inProgress=="yes"){
$("html, body").stop();
inProgress="no";
}
else{
inProgress="yes";
speed=o.speed;
ease=o.ease;
UP(speed,ease);
}
})
}
});
}
});
})(jQuery);