If you're looking to execute javascript code whenever someone finishes (or stops temporary) scrolling, moving the mouse, or resizing the page, you may find the following segment of code useful.

var onFooEndFunc = function() {
	var delay = 50; /* milliseconds - vary as desired */
	var executionTimer;
	
	return function() {
		if (executionTimer) {
			clearTimeout(executionTimer);
		}
	
		executionTimer = setTimeout(function() {
			// YOUR CODE HERE
		}, delay);
	};
}();

Simulated onScrollEnd:

  • onScroll
  • onScrollEnd
Executed 0 times.
Scroll Me

Simulated onMouseMoveEnd:

  • onMouseMove
  • onMouseMoveEnd
Executed 0 times.

Simulated onResizeEnd:

  • onResize
  • onResizeEnd
Executed 0 times.