Skip to content

Instantly share code, notes, and snippets.

@leekiernan
Created July 26, 2013 19:59
Show Gist options
  • Save leekiernan/6091799 to your computer and use it in GitHub Desktop.
Save leekiernan/6091799 to your computer and use it in GitHub Desktop.
Parallax scrolling
$ ->
_window = $(window)
scroll_div = (win, div, init=false) ->
_scrolltop = win.scrollTop()
_top = div.offset().top
_offset = div.data("offsetY") || 0
_speed = div.data("speed") || 0
console.log "#{_scrolltop} + #{win.height()} > #{_top}"
if _scrolltop + win.height() > _top and _top + div.height() > _scrolltop
_pos = _scrolltop / _speed + _offset
if init then _pos *= -1
else _pos += _offset
div.css backgroundPosition: "50% #{_pos}px"
# $( "section[data-type=\"background\"]" ).each ->
$(".parallax").each ->
_self = $(this)
scroll_div _window, _self, true
$(window).scroll ->
scroll_div _window, _self, false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment