У меня была эта же проблема и я создал плагин jQuery для его решения для нашего сайта.
https://github.com/shaunbowe/jquery.visibilityChanged
Вот как вы могли бы использовать его на основе вашего примера:
$('#contentDiv').visibilityChanged(function(element, visible) {
alert("do something");
});