bilderbuchbeispiel mit .clip bild aufbauen von rechts ?
4now
- dhtml
Hallo !
habe versucht das selfhtml script für das bilderbuch so umzuschreiben daß die bilder sich nicht von links sondern von der rechten seite aufbauen. Leider funktioniert es nicht nur .right gegen .left auszutauschen und die rect Werte in der Klammer anzupassen. Was mache ich falsch ?
Liegt es daran daß: "Damit überhaupt ein Ausschnitt sichtbar ist, muss der Wert für "unten" größer sein als der für "oben" und der Wert für "rechts" größer als der für "links"."
<html><head><title>Test</title>
<script type="text/javascript" src="dhtml.js"></script>
<script type="text/javascript">
<!--
var Bild = new Array();
Bild[0] = new Image(); Bild[0].src="bilderbuch01.gif";
Bild[1] = new Image(); Bild[1].src="bilderbuch02.gif";
Bild[2] = new Image(); Bild[2].src="bilderbuch03.gif";
Bild[3] = new Image(); Bild[3].src="bilderbuch04.gif";
Bild[4] = new Image(); Bild[4].src="bilderbuch05.gif";
var zeige = 0;
var Breite = 300;
var aktuelleBreite = 0;
var Schrittweite = 6;
var Schrittverzoegerung = 1;
function Blaettern(Richtung) {
zeige = zeige + Richtung;
if(zeige > Bild.length - 1) zeige = 0;
else if(zeige < 0) zeige = Bild.length - 1;
if(DOM || MS)
getElem("id","Bildbereich",null).style.clip="rect(0 0 225 0)";
if(DOM && !MS && !OP) {
var img = document.createElement("img");
var src = document.createAttribute("src");
src.nodeValue = Bild[zeige].src;
img.setAttributeNode(src);
getElem("id","Bildbereich",null).replaceChild(img, getElem("id","Bildbereich",null).firstChild);
}
else if(MS) {
document.all.Bildbereich.innerHTML = "<img src="" + Bild[zeige].src + "">";
}
else if(NS) {
getElem("index",0,null).visibility = "hide";
setCont("index",0,null,"<img src="" + Bild[zeige].src + "">");
getElem("index",0,null).clip.right = 0;
getElem("index",0,null).visibility = "show";
}
BildAufbauen();
}
function BildAufbauen() {
if(aktuelleBreite <= Breite) {
if(DOM || MS && !OP)
getElem("id","Bildbereich",null).style.clip="rect(0 "+ aktuelleBreite +" 225 0)";
else if(NS)
getElem("index",0,null).clip.right = aktuelleBreite;
aktuelleBreite = aktuelleBreite + Schrittweite;
window.setTimeout("BildAufbauen()", Schrittverzoegerung);
}
else {
aktuelleBreite = 0;
if(DOM || MS)
getElem("id","Bildbereich",null).style.clip="rect(0 "+ Breite +" 225 0)";
else if(document.layers)
getElem("index",0,null).clip.right = Breite;
}
}
function SEITE_init() {
if(DOM && !MS && !OP) {
img = document.createElement("img");
var src = document.createAttribute("src");
src.nodeValue = Bild[0].src;
img.setAttributeNode(src);
getElem("id","Bildbereich",null).appendChild(img);
}
else if(document.all)
document.all.Bildbereich.innerHTML = "<img src="" + Bild[0].src + "">";
else if(NS)
setCont("index",0,null,"<img src="" + Bild[0].src + "">");
}
//-->
</script>
<style type="text/css">
<!--
#Bildbereich {
position:absolute; left:10px; top:140px; padding:0px; clip:rect(0 300 225 0); visibility:show; }
#Navigationsbereich {
position:absolute; left:320; top:140; width:100; font-size:18pt; }
-->
</style>
</head>
<body bgcolor="#FFFFFF" onLoad="SEITE_init()">
<div id="Bildbereich">
</div>
<div id="Navigationsbereich">
[<a href="javascript:Blaettern(-1)"><b><<</b></a>]
[<a href="javascript:Blaettern(1)"><b>>></b></a>]
</div>
</body>
</html>
+gruß
Hi,
getElem("id","Bildbereich",null).style.clip="rect(0 0 225 0)";
rect erwartet 4 Längenangaben, Du gibst aber nur 4 Zahlen an (3 davon sind zufällig auch korrekte Längenangaben, aber eine nicht).
getElem("id","Bildbereich",null).style.clip="rect(0 "+ aktuelleBreite +" 225 0)";
s.o. Zahlen sind keine Längen.
getElem("index",0,null).clip.right = aktuelleBreite;
dito.
getElem("id","Bildbereich",null).style.clip="rect(0 "+ Breite +" 225 0)";
dito.
getElem("index",0,null).clip.right = Breite;
dito.
position:absolute; left:10px; top:140px; padding:0px; clip:rect(0 300 225 0); visibility:show; }
dito.
position:absolute; left:320; top:140; width:100; font-size:18pt; }
dito.
cu,
Andreas
Danke für die Antwort Andreas!
daß von mir gepostete script ist aber das funktionierende original
ich dachte nicht daß ich daran zweifeln sollte ?
mein problem besteht darin daß das bild sich von rechts aufbauen soll und nicht wie im beispiel von links.
wie sieht eine korrekte längenangabe aus?
+gruß
4now
Hi,
mein problem besteht darin daß das bild sich von rechts aufbauen soll und nicht wie im beispiel von links.
wie sieht eine korrekte längenangabe aus?
Denk mal drüber nach. Wie lang ist ein DIN A4-Blatt? 29,7?
cu,
Andreas
Denk mal drüber nach. Wie lang ist ein DIN A4-Blatt? 29,7?
Wenn ich's quer lege 21? ;-)
Gunnar
Hi,
Denk mal drüber nach. Wie lang ist ein DIN A4-Blatt? 29,7?
Wenn ich's quer lege 21? ;-)
Ne, die Länge ändert sich nicht durch eine Lage-Änderung ;-)
cu,
Andreas
Hi Gunnar,
Denk mal drüber nach. Wie lang ist ein DIN A4-Blatt? 29,7?
Wenn ich's quer lege 21? ;-)
wenn ich's aufstelle, hängt's von dessen Grammatur ab. ;-)
Grüße,
Roland
Hallo.
wenn ich's aufstelle, hängt's von dessen Grammatur ab. ;-)
Selbst auf die Gefahr hin, deinen Scherz mutwillig anzusägen: Das Flächengewicht heißt nicht umsonst so. Näheres findest du unter dem Stichwort "Volumenpapier".
MfG, at
Gut nur das hinzufügen von px löst auch das Problem nicht weil ich dann auch nur das hab was ich jetzt schon habe einen bildaufbau von links
hi,
du hast deine frage bereits heute vormittag gestellt - https://forum.selfhtml.org/?t=90489&m=542741.
bitte unterlasse solche doppelposting, und lies mal die FAQ - insb. </faq/#Q-11> und </faq/#Q-10>.
gruß,
wahsaga