var result = [document.viewport.getScrollOffsets().left - $(el).cumulativeScrollOffset().left, document.viewport.getScrollOffsets().top - $(el).cumulativeScrollOffset().top];
Which results in [0,0] because the document's viewport's getScrollOffsets() are the same as the element's cumulativeScrollOffset(). If I change it to:
var result = [document.viewport.getScrollOffsets().left, document.viewport.getScrollOffsets().top];
It displays in the right location. Scrolling while it's displayed will cause it to move since the background is moving…but I could live with that.
I'm just not familiar enough with JS to know the ramifications of such a change.
-Lon