-
Notifications
You must be signed in to change notification settings - Fork 2
/
jquery.anchor.js
42 lines (32 loc) · 1.19 KB
/
jquery.anchor.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
/*******
*** Anchor Slider by Cedric Dugas ***
*** Http://www.position-absolute.com ***
*** Firefox scrollTop bug fixed by Matheus Lima ***
*** http://www.matheuslima.org/ @matheeusLimaaa ***
*** Github: mattheussl ***
Never have an anchor jumping your content, slide it.
Don't forget to put an id to your anchor !
You can use and modify this script for any project you want, but please leave this comment as credit.
*****/
jQuery.fn.anchorAnimate = function(settings) {
settings = jQuery.extend({
speed : 1100,
offset: 0
}, settings);
return this.each(function(){
var caller = this
$(caller).click(function (event) {
event.preventDefault();
event.returnValue = false;
var locationHref = window.location.href;
var elementClick = $(caller).attr("href");
var destination = $(elementClick).offset().top - settings.offset;
$("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, settings.speed, function() {
scrollPosition = $(window).scrollTop(); // Firefox hack
window.location.hash = elementClick;
$(window).scrollTop(scrollPosition); // Firefox hack
});
return false;
})
})
}