Спасибо Дэвиду за сообщение, оно помогло мне решить проблему с «полностью видимым элементом», однако мне пришлось адаптировать рекомендацию к следующему, потому что моя родительская область div
была больше видимого размера окна. Следующий код работает для меня, хотя мне нужно беспокоиться только о вертикали.
elem
является объектом jquery, и это, вероятно, будет работать только для html5
function isFullyVisible (elem) {
var off = elem.offset();
var et = off.top;
var el = off.left;
var eh = elem.height();
var ew = elem.width();
var wh = window.innerHeight;
var ww = window.innerWidth;
var wx = window.pageXOffset;
var wy = window.pageYOffset;
return (et >= wy && el >= wx && et + eh <= wh + wy && el + ew <= ww + wx);
}