Hallo Maren,
das Problem kommt mir verdammt bekannt vor. Auch die Größenangaben (also Höhe und Breite) in einem Array ablegen und dann mit:
document.images[0].width=width[i];
angeben bringt leider im Netscape und Opera nix. Da hilft nur eins. Das Dokument dynamisch öffnen, die komplette HTML-Seite schreiben und das Dokument wieder schließen, also die nutzung von document.open(), document.writeln(" ...") und document.close();
Leider hat das einen klitzekleinen Nachteil: bei nutzung von Hintergrundbildern in der Fotoseite kommt es zu Flackereffekten durch das nachladen das HG-Bildes. Ausserdem schlucken manche Firewall bei firmen diese Methoden.
ACHTUNG Fehlerquellen:
- BaseTarget-Einträge entfernen (Frontpage2000 macht die leider automatisch jedesmal rein).
- Beim Kombinieren von document.write("....") und document.writeln("..")kann der html-Code im Netz durcheinandergewürfelt werden, ist zwar unerklärlich aber realität. Abhilfe: immer pro Zeile die document.writeln("....")-Methode verwenden.
Beispiel:
//copyright by E.Bär, Salzgitter
var cc=1;
var max=8; //Bildanzahl
var ss=0;
var time=5; //Defaultstandartseite
function plusTime()
{
if(time<20) time++;
status="Intervall auf "+time+" Sekunden gesetzt";
window.defaultStatus=status;
}
function minusTime()
{
if(time>0) time--;
status="Intervall auf "+time+" Sekunden gesetzt";
window.defaultStatus=status;
}
function firstPic(){
cc=1; ss=0;
showPic();
}
function lastPic(){
cc=max; ss=0;
showPic();
}
function nextPic(){
ss=0;
if(cc<max){
cc++;
showPic();
}
else{
status="Ende erreicht";
window.defaultStatus=status;
}
}
function prevPic(){
ss=0;
if(cc>1){
cc--;
showPic();
}
else{
status="Anfang erreicht";
window.defaultStatus=status;
}
}
function slideShow(){
ss=1;
slide();
}
function slide(){
if(cc<max+1 && ss==1){
showPic();
cc++;
window.setTimeout("slide()", time*1000);
}
else{
cc=1;
showPic();
ss=0;
status="Slideshow beendet";
window.defaultStatus=status;
}
}
function showPic(){
var bild = "<p align='center'><img border='0' name='foto' src=fotos/foto_"+cc+".jpg></p>";
//alert(bild);
parent.Oben.document.open();
parent.Oben.document.writeln("<html>");
parent.Oben.document.writeln("<head>");
parent.Oben.document.writeln("<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>");
parent.Oben.document.writeln("<meta name='GENERATOR' content='Microsoft FrontPage 4.0'>");
parent.Oben.document.writeln("<meta name='ProgId' content='FrontPage.Editor.Document'>");
parent.Oben.document.writeln("<link rel=stylesheet type='text/css' href='formate.css'>");
parent.Oben.document.writeln("<title>Foto</title>");
parent.Oben.document.writeln("</head>");
parent.Oben.document.writeln("<body>");
parent.Oben.document.writeln("<p> </p>");
parent.Oben.document.writeln(bild);
parent.Oben.document.writeln("</body>");
parent.Oben.document.writeln("</html>");
parent.Oben.document.close();
status="Bild "+cc+" von "+max+" wird angezeigt";
if(ss==1) status=status+" / Slidshow -> Intervall von "+time+" Sekunden";
window.defaultStatus=status;
}