steffen: Problem mit overlay über die Seite

Hallo Forumleser,

ich erstelle mit JQuery ein Overlay über die komplette Seite.

$("body")  
.append('<div id="cl-entry-layer" style="position: absolute; top: 0; left: 0; z-index: 10;"></div><div id="cl-entry-wrap" style="position: absolute; width: 100%; top: 0; left: 0; z-index: 20;"><div id="cl-entry" style="position: relative; z-index: 91;padding: 20px; margin: 0 auto; margin-top: 20px; width: 600px; background-color: #fff; border: 1px black solid;"></div></div>');

Jetzt soll das Overlay wieder entfernt werden, wenn irgendwo auf die seite geklickt wird außerhalb des divs #cl-entry.

Zuerst habe ich das so gelöst:

$("#cl-entry-layer, #cl-entry-wrap").click( function(){  
 _finish();  
});  
$("#cl-entry").click( function(){  
 return false;  
});  
function _finish() {  
$('#cl-entry-layer, #cl-entry-wrap').remove();  
}

Wobei jedoch in dem div keinerlei Aktionen (z.B. submit) gemacht werden können.

Dachte ich mir nagut! Setz du einfach eine globale variable, die bei mousein("cl-entry") auf false gesetzt wird und bei mouseout("cl-entry") auf true gesetzt wird und überprüfst die variable in _finish():

function _finish() {  
 if(cl_close == true)$('#cl-entry-layer, #cl-entry-wrap, #cl-entry').remove();  
}

Funktioniert auch, jedoch im IE6 nur bedingt! Wenn die select-Box aufgeklappt wird und ein Eintrag ausgewählt wird, wird das Overlay geschlossen.

Weiß jemand Rat, wie ich das ganze sauber hinbekomme?

LG und Danke schonmal
Steffen

  1. 'ǝɯɐu$ ıɥ

    ...sind nicht wirklich sinnvoll, Kopf abhacken schon eher:

    <!--[if lt IE 7]> <div style=' clear: both; height: 59px; padding:0 0 0 15px; position: relative;'> <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx?ocid=ie6_countdown_bannercode"><img src="http://www.theie6countdown.com/images/upgrade.jpg" border="0" height="42" width="820" alt="You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today." /></a></div> <![endif]-->

    *SCNR*

    ssnɹƃ
    ʍopɐɥs

    --
    “A computer lets you make more mistakes faster than any invention in human history–with the possible exceptions of handguns and tequila.”
    - Mitch Radcliffe
    1. Hallo ʍopɐɥs,

      leider ist dies eine interne Homepage und die wird LEIDER mit ie6 noch aufgerufen (wird zum Glück dieses Jahr umgestellt) aber leider muss ich noch darauf achten :(

      Ansonsten lass ich einfach schließen auf den layer und setze einfach ein Close button.

      Das funktioniert wenigstens :)

      Hab nur rein aus Interesse gefragt.

      LG Steffen

  2. Hi,

    ich erstelle mit JQuery ein Overlay über die komplette Seite.

    Das gibts doch schon 1000-fach, z.B auch hier. Also nicht neu erfinden, sondern nachsehen, wie es woanders gelöst wird.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.