Frågan#1
I min dator med Windows 2000 och IE 5 så fungerar detta bra. Men i en dator med Windows 98 och IE 4 så ser det oerhört dumt ut.
Tror faktiskt det beror på operativet eftersom det innan jag ändrade det var lagt en if sats i moveitbabyOver som gjorde så att inte funktionen körde om man hade Windows 98.
Nåja, här finns koden. Om ni har chansen att jämföra hur det beter sig i de olika operativen så skulle jag vara glad om nån kunde hjälpa mig att fixa så att det blir riktigt i också Windows 95 och 98.
<html>
<head>
<title>Paregos | Design in Progress</title>
<script language="JavaScript">
var ie4, ns4, vers3, nyleft, ole, yy_ml;
var i = 0;
var i2 = 0;
var i3 = 0;
var kloss = 0;
var kloss3 = 0;
if (navigator.appVersion.substring(0, 1) >= 4)
{
if ( navigator.appName == "Netscape")
{
ns4 = true ;
}
if ( navigator.appName == "Microsoft Internet Explorer")
{
ie4 = true ;
}
}
else
{
vers3 = true; ////why bother ... kanske ett irriterande alert men..
}
//////////////// browsercheck slut
/// OS check
if((navigator.userAgent.indexOf('Win') != -1) &&
(navigator.userAgent.indexOf('95') != -1))
{ var OpSys = "w95"; }
else if((navigator.userAgent.indexOf('Win') != -1) &&
(navigator.userAgent.indexOf('98') != -1))
{ var OpSys = "w98"; }
else if(navigator.userAgent.indexOf('Win') != -1)
{ var OpSys = "nt"; }
else if(navigator.userAgent.indexOf('Mac') != -1)
{ var OpSys = "mac"; }
else { var OpSys = "other"; }
/// OS check slut
function moveitbabyOver(q){ ////tilläg overfunktionen
if (q){
if (ie4){
spX = document.all.lagret2.style.pixelLeft;
difxx = q;
difx = difxx - spX;
grad2 = difx/5;//Math.sin(i3);
document.all.lagret2.style.pixelLeft = spX + grad2;
spX = document.all.lagret2.style.pixelLeft;
if(difx <= 4 ){ //
if(difx >= -4){
kloss3 = 1;
sinusmoveit(difxx); //sätt igång oscillationen
}
}
if(kloss3 != 1){
ole = setTimeout("moveitbabyOver(difxx)",1);
}
else
kloss3 = 0;
}
if (ns4){
spX = document.lagret2.left;
difxx = q;
difx = difxx - spX;
grad2 = difx/5;//Math.sin(i3);
document.lagret2.left = spX + grad2;
spX = document.lagret2.left;
if(difx <= 4 ){ //
if(difx >= -4){
kloss3 = 1;
sinusmoveit(difxx); //sätt igång oscillationen
}
}
if(kloss3 != 1){
ole = setTimeout("moveitbabyOver(difxx)",1);
}
else
kloss3 = 0;
}
}
}
function sinusmoveit(nyq){ //oscillerande
if(ie4){
nyq2 = nyq;
i3 = i3 + 0.05;
svang = 10*Math.sin(i3) + parseInt(nyq2);
document.all.lagret2.style.pixelLeft = svang;
if (i3 <= 3.15){
ole = setTimeout("sinusmoveit(nyq2)",1);
}
else{
i3 = 0;
}
}
if(ns4){
nyq2 = nyq;
i3 = i3 + 0.05;
svang = 10*Math.sin(i3) + parseInt(nyq2);
document.lagret2.left = svang;
if (i3 <= 3.15){
ole = setTimeout("sinusmoveit(nyq2)",1);
}
else{
i3 = 0;
}
}
}
function menyOver(vem){ //onMouseOver
switch (vem){
case 1:
moveitbabyOver('200');
break;
case 2:
moveitbabyOver('400');
break;
case 3:
moveitbabyOver('197');
break;
case 4:
moveitbabyOver('243');
break;
case 5:
moveitbabyOver('385');
break;
case 6:
moveitbabyOver('515');
break;
case 7:
moveitbabyOver('572');
break;
default:
}
}
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="lagret2" style="position:absolute; left:82px; top:175px; width:58px; height:32px; z-index:1; background-color: #000000; layer-background-color: #000000; border: 1px none #000000"></div>
<p><a href="#" onmouseover="menyOver(1);">Länk1</a></p>
<p><a href="#" onmouseover="menyOver(2);">Länk2</a></p>
<p><a href="#" onmouseover="menyOver(3);">Länk3</a></p>
</body>
</html>
------------------
<A HREF="mailto:chavez@post.netlink.se">Mvh Chavez
</A> UIN: 73975020
[Redigerat av Chavez den 22 apr 2001]