[JS] Ein einzelnes Div abdunkeln
Ich habe vor einiger Zeit mit dem abdunkeln von Seitenelementen herumexperimentiert und bin dabei auf verschiedene Schwierigkeiten gestoßen (insbesondere natürlich im IE). Was dabei letztendlich rausgekommen ist, ist eine Funktion, die die Arbeit normalerweise übernehmen sollte, vielleicht kann sie ja jemand gebrauchen.Benötigte Funktionen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | //This function is from DHTML Calendar (http://www.dynarch.com/projects/calendar/) function createElement(type, parent) { var el = null; if (document.createElementNS) { // use the XHTML namespace; IE won't normally get here unless // _they_ "fix" the DOM2 implementation. el = document.createElementNS("http://www.w3.org/1999/xhtml", type); } else { el = document.createElement(type); } if (typeof parent != "undefined") { document.getElementById(parent).appendChild(el); } return el; }; function destroyElement(element, parent) { obj = document.getElementById(element); document.getElementById(parent).removeChild(obj); } |
Eigentliche Abdunklungsfunktion:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | // Parameters: // sElementID: ID of the element you want to shade // bShow: Shade or brighten the element, true = shade, false = brighten // sStyleSheet: You can insert the class of your own stylesheet, otherwise a standard style is used. You don´t have // to set sStyleSheet when you want to remove the shade. // example: shadeElement('testdiv', true, 'superClassName'); function shadeElement(sElementID, bShow, sStyleSheet) { if (document.getElementById(sElementID).style.position == "relative") { if (bShow == true) { if (document.getElementById(sElementID + "_lightbox")) { var lightbox = document.getElementById(sElementID + "_lightbox"); } else { var lightbox = createElement("div", sElementID); lightbox.id = sElementID + "_lightbox"; lightbox.innerHTML = " "; } if (typeof sStyleSheet != "undefined") { lightbox.className = sStyleSheet; } else { lightbox.style.position = "absolute"; lightbox.style.top = 0; lightbox.style.bottom = 0; lightbox.style.left = 0; lightbox.style.right = 0; lightbox.style.backgroundColor = "#000"; lightbox.style.opacity = 0.8; lightbox.style.zIndex = 2000; lightbox.style.display = "block"; /* Some workarounds for IE */ lightbox.style.filter = "alpha(opacity = 80)"; //Different opacity usage in IE lightbox.style.width = "100%"; lightbox.style.height = document.getElementById(sElementID).offsetHeight; document.getElementById(sElementID).style.zoom = 1; //Force "hasLayout" for containing div in IE } } else { if (document.getElementById(sElementID + "_lightbox")) { destroyElement(sElementID + "_lightbox", sElementID); } } } else { alert("Please make sure your containing div's position is relative."); } } |
2 Kommentare to [JS] Ein einzelnes Div abdunkeln
Kommentar verfassen
Statische Seiten
Kategorien
- Allgemein (13)
- Filme (7)
- Fun (16)
- Ireland (24)
- Musik (7)
- Programmierung (6)
- Uni (20)
- Mitschriften (15)
- WS 09/10 (13)
- Mitschriften (15)
- Windows / Linux (6)
Archive
- Februar 2012 (3)
- März 2011 (1)
- Februar 2011 (3)
- Juli 2010 (1)
- April 2010 (1)
- März 2010 (1)
- Februar 2010 (4)
- Januar 2010 (11)
- Dezember 2009 (3)
- November 2009 (2)
- September 2009 (3)
- August 2009 (9)
- Juli 2009 (2)
- Mai 2009 (1)
- April 2009 (2)
- März 2009 (4)
- Februar 2009 (6)
- Januar 2009 (6)
- Dezember 2008 (14)
- November 2008 (6)
- Oktober 2008 (13)
Letzte Kommentare
- Stex bei Über
- Annika bei Über
- Stex bei [JS] Ein einzelnes Div abdunkeln
- oliver bei [JS] Ein einzelnes Div abdunkeln
- CDU-Hasser bei MX5000 Functions
Tags
albaner
barber
bier
bus
drittes reich
dublin
entführung
fulltilt
fun movie
golden army
goldene armee
grafton street
hafen
hellboy
howth
Ireland
juden
kidnapping
klippen
kristallschädel
kz
Lernskript
mathe
meer
mitschrift
Musik
nazi
nebel
oktoberfest
park
parodie
poker
porterhouse
Programmierung
seals
Seehunde
st. stephen´s green
straße
taken
thornmanby road
tochter
uni kiel
verfolgung
Weihnachten
windows


hallo,
könntest du vielleicht ein beispiel posten, bzw, wie ich das script aufrufe?
vielen dank
oliver
Moin,
naja, im Prinzip so wie es im Kommentar darüber steht:
Wenn du das Element verdunkeln möchtest:
shadeElement(‘id_deines_divs’, true);
Wenn du es wieder sichtbar machen möchtest:
shadeElement(‘id_deines_divs’, false);
Wenn du die Funktion ohne className aufrufst, erstellt sie selbst ein Standard-Style-Attribut, ansonsten vergibt sie einfach den Klassennamen.