2010-09-22 8 views
5


ich habe ein div, das durch ajax schafft, ich möchte den ganzen Körper einmal deaktivieren, wenn das div Popup ist und bis, es sei denn, das div ist geschlossen.
Ist das in jquery möglich? Bitte lassen Sie mich wissen, dass Ihr VorschlagWie man ganzen Körper außer einem div

Danke,
Praveen Jayapal

+1

Klingt verdächtig wie ein Leuchtkasten. vgl. http://leandrovieira.com/projects/jquery/lightbox/ – annakata

Antwort

9

Sie entfernen möchten, oder den Körper zu verstecken? Technisch sollte dies nicht möglich sein, da Sie das div an den Körper anhängen müssen, um es zu sehen. Sie können eine Maskenebene erstellen, die den GANZEN Körper abdeckt, und dann den Z-Index für Ihr div verwenden, um es über dem Körper anzuzeigen.

Etwas wie:

http://www.queness.com/post/77/simple-jquery-modal-window-tutorial

helfen könnte!

Um die Seite vollständig auszublenden alles, was Sie tun müssen, würde, ist Änderungslinie 21:

$('#mask').fadeTo("slow",0.8);

im Javascript:

$('#mask').fadeTo("slow",1);

und die Farbe der Maske auf Zeile 7 des CSS kann geändert werden, was auch immer Sie wollen:

background-color: #000;

+0

genau das ist, was ich brauche :) .. danke Kumpel – praveenjayapal

6

, die den Trick tun sollte ..

HTML:

<body> 
    <div id="overlay"> 
     this is above the body! 
    </div> 
<!--...rest...--> 
</body> 

CSS:

#overlay { 
    background-color: #ccc; /*or semitransparent image*/ 
    display: none; 
    height: 100%; 
    width: 100%; 
    position: absolute; 
    top: 0; 
    left: 0; 
    z-index: 100; 
} 
#ajax-div { 
    z-index: 200; /*important, that it is above the overlay*/ 
} 

Javascript:

<script type="text/javascript"> 
$(document).ready(function() { 
    //your ajax-call 
    $.ajax({ 
     //on success 
     success: function() { 
      //your logic your showing the ajax-div 
      $('#overlay').show(); //or fadeIn() 
     } 
    }) 

    //use live to catch the close-click of the later added ajax-div 
    $('#ajax-div a#close').live('click', function() { 
     //close the ajax-div 
     $(this).parent().hide(); 
     //close the overlay 
     $('#overlay').hide(); //or, again, fadeOut() 
    }); 
}); 
</script> 
+0

A für die Mühe dort Tim! Gut für dich. – roborourke

1

OK ... beste Idee ist jquey.ui verwenden, wenn Sie jquery verwenden.

http://jqueryui.com/demos/dialog/#modal

Sie können Thema wählen und nur Komponenten herunterladen, die Sie mögen ..

Dann einfach js und css ein Ort img Ordner und Anrufdialog. Es ist ruhig einfach ...

Verwandte Themen