Skip to content

Instantly share code, notes, and snippets.

@imakewebthings
Created November 6, 2011 06:52
Show Gist options
  • Save imakewebthings/1342565 to your computer and use it in GitHub Desktop.
Save imakewebthings/1342565 to your computer and use it in GitHub Desktop.
deck.horizon first crack
<script>
(function($, deck, undefined) {
var $d = $(document),
toggleHorizon = function(base, fn) {
var slides = $[deck]('getSlides'),
opts = $[deck]('getOptions'),
min = base - opts.horizon,
max = base + opts.horizon,
i;
min = min < 0 ? 0 : min;
max = max > slides.length ? slides.length : max;
for (i = 0; i < min; i++) {
slides[i][fn](opts.classes.horizon);
}
for (i = max; i < slides.length; i++) {
slides[i][fn](opts.classes.horizon);
}
},
updateHorizon = function(e, from, to) {
if (from || from === 0) {
toggleHorizon(from, 'removeClass');
}
if (to || to === 0) {
toggleHorizon(to, 'addClass');
}
};
$.extend(true, $[deck].defaults, {
classes: {
horizon: 'deck-horizon'
},
horizon: 16
});
$d.bind('deck.init', function() {
updateHorizon(null, null, 0);
})
.bind('deck.change', updateHorizon);
})(jQuery, 'deck');
</script>
<style type="text/css">
.deck-container:not(.deck-menu) .slide.deck-horizon {
display:none;
}
</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment