Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem bei Änderung von Frameinhalten mit JavaScript
Ok, ich habe drei Frames
1. menu
2. kopf2
3. main
Hier mein script:
<script type="text/javascript">
<!--
function dreiframes(URI1,F1,URI2,F2,URI3,F3) {
Frame1=eval("parent."+F1);
Frame2=eval("parent."+F2);
Frame2=eval("parent."+F3);
Frame1.location.href = URI1;
Frame2.location.href = URI2;
Frame2.location.href = URI3;
}
//-->
</script>
und hier mein link:
<a href="javascript:dreiframes('../kopf2/kopfgelb.html','kopf2','menugelb.html','menu','../test.html','main')"><font size="3"><strong>Protektorin</strong></font></a>
Das Problem ist, dass das Script nicht den Frame änder in dem das Script sich selbst befindet... d.h. in menu
Wie bekomme ich es hin, das er mir auch den frame menu mit dem link ändert?
GoRn
So ganz hab ich wahrscheinlich nicht verstanden, was du willst, aber ich denke mal es soll so etwas in der Art herauskommen.
Den Refresh kannst du wie ich mit
window.cbe.addEventListener("resize", init, false);
abfangen oder durch den Aufruf der Funktion init() mit einem Link.
Ich mag Frames nicht. Da finden die Suchmaschinen nichts mehr.
<html><head>
<title>Div-Test</title>
<style>
A:link {color : black; text-decoration: none; font-size : 9pt;}
A:visited {color : black; text-decoration: none; font-size : 9pt;}
A:hover {color : black; text-decoration: none; font-size : 9pt;}
A:active {color : black; text-decoration: none; font-size : 9pt;}
.a {position:absolute; visibility:hidden;
width:50; height:50;
background:transparent; layer-background-color:transparent;}
</style>
<script type='text/javascript' src='cbe/cbe_core.js'></script>
<script type='text/javascript' src='cbe/cbe_clip.js'></script>
<script type='text/javascript' src='cbe/cbe_debug.js'></script>
<script type='text/javascript' src='cbe/cbe_slide.js'></script>
<script type='text/javascript' src='cbe/cbe_slide2.js'></script>
<script type='text/javascript' src='cbe/cbe_event.js'></script>
<script type='text/javascript'>
<!--
var a1,a2,a3;
function windowOnload() {init()};
function init(){
var st = document.cbe.scrollTop();
window.cbe.addEventListener("resize", init, false);
window.cbe.addEventListener('scroll', scrollListener);
with (a1 = cbeGetElementById('a1').cbe) {
background("#C00000");
resizeTo(document.cbe.width(),110);
moveTo(0,0);
show();
}
with (a2 = cbeGetElementById('a2').cbe) {
background("#ED6A1B");
resizeTo(200,document.cbe.height()-110);
moveTo(10,120+st);
show();
}
with (a3 = cbeGetElementById('a3').cbe) {
background("#EDD71B");
resizeTo(document.cbe.width()-200,document.cbe.height()-110);
moveTo(210,120);
show();
}
function scrollListener(e) {
var st = document.cbe.scrollTop();
a2.slideTo(10, 120 + st,800);
}
}
//-->
</script>
</head>
<body bgcolor="#808080">
<div id="a1" class="a">Hier steht der Kopf</div>
<div id="a2" class="a">Hier steht das Menü</div>
<div id="a3" class="a">Hier steht der eigentliche Text</div>
</div>
</body>
</html>
Die JS-Dateien bekommst du bei http://www.cross-browser.com im Download
Mit div ist auch ne coole idee.. doch der Kunde will selber ändern und das rallt der dann nicht :-) ich habe extra untervezeichnisse mit den daten angelegt die er ändern kann.
So z.B. alle Seite die im main laufen - so kann er die inhalte einfach ändern.
Und meinen Fehler habe ich jetzt auch :-)
"Frame1=eval("parent."+F1);
Frame2=eval("parent."+F2);
Frame2=eval("parent."+F3);
Frame1.location.href = URI1;
Frame2.location.href = URI2;
Frame2.location.href = URI3;
} "
da muss nicht vier mal frame2 stehen :-)
THX
GoRn
anda_skoa
07-02-2003, 18:26
Ich hab mal den Betreff geändert.
Mit Java hatte es ja nichts zu tun.
Ciao,
_
wieso nicht mit java...? das ist ein javascript mit dem die frames geändert werden....
macht aber nichts.. der fehler lag auch an mir.. war einfach zu blind.
GoRn
Das mit den Boxen ist auch ganz leicht für Neulinge zu bedienen.
Steck einfach alles von
<html><head>
<title>Div-Test</title>
<style>
A:link {color : black; text-decoration: none; font-size : 9pt;}
bis
<body bgcolor="#808080">
<div id="a1" class="a">Hier steht der Kopf</div>
<div id="a2" class="a">Hier steht das Menü
<a href ="graph.php">Graph</a> <br>
<a href = "circle.php">Imagick</a> <br>
<a href ="image.php">Image Test</a> <br>
<a href ="index.php">Zeitung Test</a> <br>
</div>
in einen header.php bzw eine style.css
Anschließend sieht die Seite graph.php etc. echt einfach aus.
Das ist auch für einen Kunden zu verändern.
<?php require ("header.php"); ?>
<div id="a3" class="a">Hier steht das der eigentliche Text</div>
</body>
</html>
Aber ich weiß du hast das Problem schon gelöst.
anda_skoa
08-02-2003, 16:30
Original geschrieben von Gorn
wieso nicht mit java...? das ist ein javascript mit dem die frames geändert werden....
Wie du ja selbst sagt: JavaScript.
http://tsantes.dns2go.com/JavaJavaScript.html
Ciao,
_
ok ok... ich gebe zu es ist nicht java :-)
GoRn
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.