1. Implement a test to determine if the element is within the viewport. This one works.
2. Find a throttle or debounce function. Here’s my take, and underscore’s.
3. Create a function that uses the method in #1 to test if the element is visible, then perform your action (load an image, animate, add more content, whatever).
4. Debounce this function using the mutator in #2, and assign that to the windows scroll. In the same block of the original function that performs your action (when isOnScreen returns true), remove the debounced function reference from the window’s scroll listener (using jQuery.off).

If you used both the isOnScreen and debounce function’s from this site, this would work:

Working sample: http://jsfiddle.net/moagrius/5MxeQ/1/