Willkommen auf dem Portal für Mediengestalter
|
|
|
| Autor |
Nachricht |
zausel76
Threadersteller
Dabei seit: 31.08.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 31.08.2006 15:37
Titel Div,Layer mit JS ein- oder ausblenden |
 |
|
hallo @all,
hab ein kleines problem. Es sind zwei Divs(layer) vorhanden:
| Code: |
<div name="zahlung1" id="zahlung1" style="display:none; visibility:visible; position:absolute; overflow:hidden; z-index:10;">Inhalt</div>
<div name="zahlung2" id="zahlung2" style="display:none; visibility:visible; position:absolute; overflow:hidden; z-index:10;">Inhalt</div>
|
Diese lass ich jetzt über ein Dropdown aus- oder einblenden:
| Code: |
<select name="zahlungsart" class="formular" onChange="wechseln(this);" style="width: 40mm">
<option value="0" selected="selected">- auswählen -</option>
<option value="1">Kreditkarte</option>
<option value="2">Bankeinzug</option>
</select>
|
Dazu benutze ich folgenden Javascript Code:
| Code: |
<script language="javascript" type="text/javascript">
function wechseln(selObj){
var t, n=0, visi, posi, blok;
n = selObj.options[selObj.selectedIndex].value;
if (n!=0){
for (var i=1; i<=document.adminForm.zahlungsart.length; i++){
visi = (n==i) ? 'visible' : 'hidden'
posi = (n==i) ? 'relative' : 'absolute'
blok = (n==i) ? 'block' : 'none';
ausblenden(i,visi,posi,blok);
}
}else{
if (document.all){
// Microsoft-Modell
for (var i=1; i<=document.adminForm.zahlungsart.length; i++){
name = ("zahlung"+i);
document.all[name].style.visibility ="hidden";
document.all[name].style.position = "absolute";
document.all[name].style.display = "none";
}
} else if (typeof(document.getElementById)=="function") {
// wenn Netscape-Modell
for (var i=1; i<=document.adminForm.zahlungsart.length; i++){
name = ("zahlung"+i);
document.getElementById("zahlung"+i).style.visibility ="hidden";
document.getElementById("zahlung"+i).style.position = "absolute";
document.getElementById("zahlung"+i).style.display = "none";
}
} else {
// wenn Modell nicht unterstützt
alert("Ihr Browser wird nicht unterstützt.");
}
}
}
function ausblenden(t,visi,posi,blok){
var name;
if (document.all){
// Microsoft-Modell
name = ("zahlung"+t);
document.all[name].style.visibility = visi;
document.all[name].style.position = posi;
document.all[name].style.display = blok;
} else if (typeof(document.getElementById)=="function") {
// wenn Netscape-Modell
document.getElementById("zahlung"+t).style.visibility = visi;
document.getElementById("zahlung"+t).style.position = posi;
document.getElementById("zahlung"+t).style.display = blok;
} else {
// wenn Modell nicht unterstützt
alert("Ihr Browser wird nicht unterstützt.");
}
}
</script>
|
Im Firefox funktioniert das wunderbar. Nur im IE wird der Layer "zahlung2" nicht angezeigt. Hat jemand vielleicht auf die schnelle ne Idee, was ich da falsch mache?
Danke schon mal im vorraus!
Gruß,
Steve
Zuletzt bearbeitet von zausel76 am Do 31.08.2006 15:55, insgesamt 1-mal bearbeitet
|
|
| |
|
 |
Cybaer
Dabei seit: 08.06.2006
Ort: Heidelberg
Alter: -
Geschlecht:
|
Verfasst Di 05.09.2006 08:52
Titel Re: Div,Layer mit JS ein- oder ausblenden |
 |
|
Ich weiß nicht, ob's dir konkret hilft, aber ...
| zausel76 hat geschrieben: | | Code: |
<div name="zahlung1">Inhalt</div>
|
|
... das ist falsch. DIV hat, wie die meisten anderen HTML-Tags auch, kein NAME-Attribut.
BTW:
| Zitat: |
// Microsoft-Modell
| document.all wird nur für den IE 4 benötigt - falls Du den sonst unterstützt.
Ab Version 5 unterstützt der IE auch das W3C-DOM (getElement...), das keineswegs "Netscape-Modell" heißt (das wäre document.layer).
Und als Abfrage reicht dafür einfach ein "if (document.getElementById)" (und auch sonst ließe sich der Code deutlich "straffen").
|
|
| |
|
 |
| |
|
 |
| Ähnliche Themen |
"1 Layer einblenden / 4 Layer ausblenden"-Problem
Layer ausblenden?
Layer ein- und ausblenden
[JS/CSS] Layer ein- und ausblenden?
1 klick = 1 frame öffnen + layer ein-/ausblenden?
[Javaskript] Ein und ausblenden von Div
|
 |
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|