Ich bin mir nicht sicher, ob es eine Möglichkeit gibt zu erkennen, ob ein Fenster über dem Element ist oder ob das Fenster minimiert ist (obwohl ich denke, dass Sie letzteres durch Einhängen von etwas in die Unschärfe des Fensters tun können) ich bin mir nicht sicher...). Wie auch immer, beim Scrollen wurde dieser Teil der Frage ein paar Mal zuvor gestellt, and this is the quick demo Ich kam auf, um zu zeigen, wie es geht. In dem Beispiel passiert etwas, wenn das Element in die Ansicht gerollt wird, aber die Logik ist natürlich dieselbe. Wie auch immer, ist der Code:
$(document).ready(function() {
function isScrolledIntoView(elem) {
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
}
var myelement = $('#formcontainer');
var mymessage = $('#mymessage');
$(window).scroll(function() {
if(isScrolledIntoView(myelement)) {
mymessage.hide();
} else {
mymessage.show();
}
});
});
gibt es nicht viel jQuery spezifische Informationen, so dass Sie das Zeug nehmen:
window.addEventListener('load', function() {
function isScrolledIntoView(elem) {
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
}
var el = document.getElementById('myelement');
window.addEventListener('scroll', function() {
if(isScrolledIntoView(el)) {
// do something when element is scrolled into view
} else {
// do something when it is not in view
}
}, false);
}, false);
Hier sind die beiden Duplikate: http://stackoverflow.com/questions/588719/making-a-fixed-tooltip-verschwinden-durch-scrollen, http://stackoverflow.com/questions/625143/change-div-based-on-how-far-down-the-page-you-have -scrolled –
Ich glaube nicht, dass dies ein exaktes Duplikat ist, da die Fragen und mein Code nur das Scrollen abdecken. Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, minimierte Fenster oder ähnliches zu erkennen. –