easMedlem sedan sep. 2001269 inlägg Är det nån smart typ som förstår varför denna kod inte funkar?
<script>
lasare=navigator.appName;
if (lasare=="Microsoft Internet Explorer"){
hojd=document.body.clientHeight;
bredd=document.body.clientWidth;
}
else if (lasare=="Netscape"){
hojd=window.innerHeight;
bredd=window.innerWidth;
}
</script>
:q :q :q
------------------
Schöndells webbsajt
JojoxxMedlem sedan juni 20004 308 inlägg Krockar det med något annat script? Ser inget direkt fel i denna kod, och det funkar i Netscape 4, Mozilla 0.9.5 och Internet Explorer 5.5 (de webbläsare jag har installerade).
------------------
/ J
easMedlem sedan sep. 2001269 inlägg Jag tänkte att jag skulle fixa så att ett lager alltid kom i mitten oavsett vilken storlek få fönstret man har.
Här är hela koden:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>
lasare=navigator.appName;
if (lasare=="Microsoft Internet Explorer"){
hojd=document.body.clientHeight;
bredd=document.body.clientWidth;
}
else if (lasare=="Netscape"){
hojd=window.innerHeight;
bredd=window.innerWidth;
}
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<!--
<div style="position:absolute; top:200px; left:200px">
<img src="start.gif" width="58" height="15"><img src="filarkiv.gif" width="58" height="15"><img src="upload.gif" width="58" height="15"><img src="info.gif" width="58" height="15">
</div>
-->
<script>
v_fonster=(bredd-286)/2;
t_fonster=(hojd-167)/2;
document.write('<div style="position:absolute; top:'+v_fonster+'px; left:'+t_fonster+'px">'+
'<img src="fonster.gif" width="286" height="167">'+
'</div>');
</script>
</body>
</html>
------------------
Schöndells webbsajt
[Redigerat av eas den 06 nov 2001]
JojoxxMedlem sedan juni 20004 308 inlägg Börja med att flytta ner första script-blocket under <body>-elementet. Annars kommer Internet Explorer att tycka att objektet document.body inte finns, eftersom det inte blivit skapat än.
Sedan skulle jag använda;
v_fonster=Math.round((bredd-286)/2);
t_fonster=Math.round((hojd-167)/2);
för att se till att du inte får några decimaltal som svar. Blir inge bra om du försöker placera lagret på halv pixel :)
Till sist skulle jag välja att skapa lagret med ren html-kod och sedan flytta det med JavaScrip till rätt plats. Då kommer det även att funka i Netscape 4.x.
------------------
/ J
easMedlem sedan sep. 2001269 inlägg Tack!
Jag gjorde som du så och flyttade ner scriptet som kollar browsern under body och det funkade fin!!! :) :)
Sen ändrade jag det andra scriptet till
<div id=fonster style="position:absolute">
<img src="fonster.gif" width="286" height="167">
</div>
<script>
v_fonster=Math.round((bredd-286)/2);
t_fonster=Math.round((hojd-167)/2);
fonster.style.left=v_fonster;
fonster.style.top=t_fonster;
</script>
Det funkar på min dator.
Vet du vad jag kan göra för att få med mig typ Netscape? :q
------------------
Schöndells webbsajt
[Redigerat av eas den 06 nov 2001]
JojoxxMedlem sedan juni 20004 308 inlägg Ta en titt på funktionen moveLayerAbs() på denna sida.
------------------
/ J
easMedlem sedan sep. 2001269 inlägg hmm....
Inte helt perfekt
Vill inte verka tjatig men grjerna flyttar sig inte alls.
document.all[...].style är null eller inte ett objekt, du vet?
Hela min kod med din funktion som jag har lagt in och döpt om till flyttaLager!
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>
/* Layerlib.js Version 2.1
Följande funktioner är skrivna av Johan Johansson
och är fria att användas så länge som dessa rader
står kvar i omodifierade.
[url="http://www.jojoxx.net"]http://www.jojoxx.net[/url] -*- 2001-09-30 */
function flyttaLager(Id,x,y){
if (document.all){
if (x) document.all[Id].style.left = x;
if (y) document.all[Id].style.top = y;
} else if (document.layers){
if (x) document.layers[Id].left = x;
if (y) document.layers[Id].top = y;
} else if (document.getElementById){
if (x) document.getElementById(Id).style.left = x+'px';
if (y) document.getElementById(Id).style.top = y+'px';
}
}
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000" background="bg.gif" onresize="location.reload()">
<script>
lasare=navigator.appName;
if (lasare=="Microsoft Internet Explorer"){
hojd=document.body.clientHeight;
bredd=document.body.clientWidth;
}
else if (lasare=="Netscape"){
hojd=window.innerHeight;
bredd=window.innerWidth;
}
</script>
<!-- MENY -->
<div id=meny style="position:absolute">
<img src="start.gif" width="58" height="15"><img src="filarkiv.gif" width="58" height="15"><img src="upload.gif" width="58" height="15"><img src="info.gif" width="58" height="15">
</div>
<script>
v_meny=Math.round((bredd-240)/2);
t_meny=Math.round((hojd-197)/2);
flyttaLager(meny,v_meny,t_meny);
</script>
<!-- SLUT PÅ MENYN -->
<!-- FÖNSTRET -->
<div id=fonster style="position:absolute">
<img src="fonster.gif" width="286" height="167">
</div>
<script>
v_fonster=Math.round((bredd-286)/2);
t_fonster=Math.round((hojd-167)/2);
flyttaLager(fonster,v_fonster,t_fonster);
</script>
<!-- SLUT PÅ FÖNSTRET -->
<!-- SCROLLGREJER -->
<div id=upp style="position:absolute"> <img src="upp.gif" width="11" height="8">
</div>
<div id=ner style="position:absolute"> <img src="ner.gif" width="11" height="8">
</div>
<script>
v_upp=Math.round((bredd+246)/2);
t_upp=Math.round((hojd-163)/2);
v_ner=Math.round((bredd+246)/2);
t_ner=Math.round((hojd+120)/2);
flyttaLager(upp,v_upp,t_upp);
flyttaLager(ner,v_ner,t_ner);
</script>
<!-- SLUT PÅ SCROLLGREJER -->
</body>
</html>
------------------
Schöndells webbsajt
[Redigerat av eas den 06 nov 2001]
JojoxxMedlem sedan juni 20004 308 inlägg flyttaLager(fonster,v_fonster,t_fonster);
Här måste du sätta "fonster" inom citat-tecken. Annars blir det ett variabelnamn. (och motsvarande på de andra ställena).
------------------
/ J
easMedlem sedan sep. 2001269 inlägg Oppps
Tänkte inte på det
när man anropar en funktion typ.
function dolj(id){
id.style.display="";
}
Så behöver man ju inte det!
Iallafall tack det djupast för din hjälp, du är underbar :)
------------------
Schöndells webbsajt
JojoxxMedlem sedan juni 20004 308 inlägg Det är då för att id då ses som ett objekt istället för en variabel. Lite småkrångligt :)
------------------
/ J
easMedlem sedan sep. 2001269 inlägg Nu är det natti natti för min del!
------------------
Schöndells webbsajt