Add definitions for ScrollToFixed

https://github.com/bigspotteddog/ScrollToFixed
This commit is contained in:
Ben Dixon
2015-06-18 15:09:37 +01:00
parent 43b6bf8875
commit dea8dc1a00
2 changed files with 78 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
/// <reference path="scrolltofixed.d.ts" />
$(document).ready(function() {
$('#mydiv').scrollToFixed();
});
$(document).ready(function() {
$('.header').scrollToFixed({
preFixed: function() { $(this).find('h1').css('color', 'blue'); },
postFixed: function() { $(this).find('h1').css('color', ''); }
});
$('.footer').scrollToFixed( {
bottom: 0,
limit: $('.footer').offset().top,
preFixed: function() { $(this).find('h1').css('color', 'blue'); },
postFixed: function() { $(this).find('h1').css('color', ''); }
});
// Order matters because our summary limit is based on the position
// of the footer. On window refresh, the summary needs to recalculate
// after the footer.
$('#summary').scrollToFixed({
marginTop: $('.header').outerHeight() + 10,
limit: function() {
var limit = $('.footer').offset().top - $('#summary').outerHeight(true) - 10;
return limit;
},
zIndex: 999,
preFixed: function() { $(this).find('.title').css('color', 'blue'); },
preAbsolute: function() { $(this).find('.title').css('color', 'red'); },
postFixed: function() { $(this).find('.title').css('color', ''); },
postAbsolute: function() { $(this).find('.title').css('color', ''); }
});
});

43
scrolltofixed/scrolltofixed.d.ts vendored Normal file
View File

@@ -0,0 +1,43 @@
// Type definitions for ScrollToFixed
// Project: https://github.com/bigspotteddog/ScrollToFixed
// Definitions by: Ben Dixon <https://github.com/bmdixon>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../jquery/jquery.d.ts" />
declare module ScrollToFixed {
interface ScrollToFixedOptions {
marginTop? : number | (() => number);
limit? : number | (() => number);
bottom?: number;
zIndex? : number;
spacerClass? : string;
preFixed?: () => void;
fixed?: () => void;
postFixed?: () => void;
preUnfixed?: () => void;
unfixed?: () => void;
postUnfixed?: () => void;
preAbsolute?: () => void;
postAbsolute?: () => void;
offsets? : boolean;
minWidth? : number;
maxWidth? : number;
dontCheckForPositionFixedSupport? : boolean;
dontSetWidth? : boolean;
removeOffsets? : boolean;
}
}
interface JQuery {
isScrollToFixed(el: Element) : JQuery;
isScrollToFixed(el: Element[]) : JQuery;
isScrollToFixed(el: {}) : JQuery;
isScrollToFixed(el: JQuery) : JQuery;
ScrollToFixed(el : Element, options : ScrollToFixed.ScrollToFixedOptions) : JQuery;
ScrollToFixed(el: Element[], options : ScrollToFixed.ScrollToFixedOptions) : JQuery;
ScrollToFixed(el: {}, options : ScrollToFixed.ScrollToFixedOptions) : JQuery;
ScrollToFixed(el: JQuery, options : ScrollToFixed.ScrollToFixedOptions) : JQuery;
scrollToFixed : (options? : ScrollToFixed.ScrollToFixedOptions) => JQuery[];
}