Wie kann ich in jQuery ohne Benutzeroberfläche ein wirklich einfaches Overlay erstellen?
Was ist ein leichtes Plugin?
Ein Overlay ist einfach ausgedrückt ein Overlay, div
das auf dem Bildschirm fixiert bleibt (egal ob Sie scrollen) und eine gewisse Deckkraft aufweist.
Dies ist Ihr CSS für eine browserübergreifende Deckkraft von 0,5:
#overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #000;
filter:alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
z-index: 10000;
}
Dies ist Ihr jQuery-Code (keine Benutzeroberfläche erforderlich). Sie erstellen lediglich ein neues Element mit der ID #overlay. Das Erstellen und Zerstören des DIV sollte alles sein, was Sie brauchen.
var overlay = jQuery('<div id="overlay"> </div>');
overlay.appendTo(document.body)
Aus Leistungsgründen möchten Sie möglicherweise den DIV ausblenden und die Anzeige so einstellen, dass sie blockiert wird, und keine, wenn Sie sie benötigen oder nicht.
Ich hoffe es hilft!
Bearbeiten: Wie @Vitaly es so gut ausdrückt, überprüfen Sie unbedingt Ihren DocType. Lesen Sie mehr über die Kommentare zu seinen Ergebnissen.
background-image: url('semi-transparent-pixel.png');
Hier ist eine einfache Lösung nur für Javascript
Demo:
http://jsfiddle.net/UziTech/9g0pko97/
Kern:
https://gist.github.com/UziTech/7edcaef02afa9734e8f2
quelle
<table>
? Ist es die 90er Jahre?Hier ist eine vollständig gekapselte Version, die jedem IMG-Element eine Überlagerung (einschließlich einer Freigabeschaltfläche) hinzufügt, bei der data-photo-overlay = 'true ist.
JSFiddle http://jsfiddle.net/wloescher/7y6UX/19/
HTML
CSS
JavaScript
quelle
Wenn Sie bereits jquery verwenden, verstehe ich nicht, warum Sie nicht auch ein leichtes Overlay-Plugin verwenden können. Andere Leute haben bereits einige nette in jquery geschrieben. Warum also das Rad neu erfinden?
quelle
Bitte überprüfen Sie dieses jQuery-Plugin.
blockUI
Damit können Sie alle Seiten oder Elemente überlagern. Funktioniert hervorragend für mich.
Beispiele: Blockiere ein div:
$('div.test').block({ message: null });
Blockiere die Seite:
$.blockUI({ message: '<h1><img src="busy.gif" /> Just a moment...</h1>' });
Hoffe das hilft jemandemSchöne Grüße
quelle
Mit Überlagerung meinen Sie Inhalte, die den Rest der Seite überlappen / abdecken? In HTML können Sie dazu ein div verwenden, das eine absolute oder feste Positionierung verwendet. Wenn es dynamisch generiert werden musste, konnte jQuery einfach ein Div mit dem entsprechend festgelegten Positionsstil generieren.
quelle
Was haben Sie mit dem Overlay vor? Wenn es sich beispielsweise um ein einfaches Feld handelt, das einige Inhalte überlappt, verwenden Sie einfach die absolute Positionierung mit CSS. Wenn es dynamisch ist (ich glaube, dies wird als Leuchtkasten bezeichnet), können Sie CSS-modifizierenden jQuery-Code schreiben, um das Overlay bei Bedarf anzuzeigen / auszublenden.
quelle