Это должно добиться цели:
function isScrolledIntoView(elem)
{
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
Простая Служебная функция Это позволит Вам называть служебную функцию, которая принимает элемент, который Вы ищете и если Вы хотите, чтобы элемент был полностью в поле зрения или частично.
function Utils() {
}
Utils.prototype = {
constructor: Utils,
isElementInView: function (element, fullyInView) {
var pageTop = $(window).scrollTop();
var pageBottom = pageTop + $(window).height();
var elementTop = $(element).offset().top;
var elementBottom = elementTop + $(element).height();
if (fullyInView === true) {
return ((pageTop < elementTop) && (pageBottom > elementBottom));
} else {
return ((elementTop <= pageBottom) && (elementBottom >= pageTop));
}
}
};
var Utils = new Utils();
Использование
var isElementInView = Utils.isElementInView($('#flyout-left-container'), false);
if (isElementInView) {
console.log('in view');
} else {
console.log('out of view');
}
В asp.net есть уловка, при которой вы помещаете файл с именем
App_Offline.htm
Все запросы будут поступать на него, пока страница не будет удалена.
Для других сред вы часто можете просто изменить, куда указывает сервер, или другой подобный план.
- Править
Независимый от сервера подход достигается за счет чего-то вроде балансировки нагрузки.
Под капотом вы можете отправлять запросы на заданный внутренний сервер . Затем вы можете решить направлять все запросы на свой сервер «a», который вы настраиваете для отображения страницы «время простоя». Затем вы вносите изменения на сервер «b», подтверждаете его успешность и указываете все запросы на «b». Затем вы обновляете "a" и позволяете запросам идти к обоим.
В ASP.NET (и ASP.NET MVC как Stackoverflow) это обеспечивается функцией app_offline.htm . Это работает просто путем перенаправления всех запросов ASP.NET в файл app_offline.htm.
В apache вы можете использовать файл .htacces с этим содержимым.
order deny,allow
allow from 192.168.1.151
deny from all
ErrorDocument 403 404.html
ErrorDocument 404 404.html
ErrorDocument 500 404.html
Это запретит доступ всем, кроме одного IP-адреса, и предоставит статический файл 404.html.
Это работает в в случае, если у вас есть только один сервер без балансировки нагрузки и прочего. Однако должно работать и для балансировки нагрузки.
Обратный прокси-сервер apache можно настроить на отправку этого ответа - если он используется как часть этой архитектуры.