webForumDet fria alternativet

Lager kontra Netscape

15 svar · 178 visningar · startad av Bendro

BendroMedlem sedan jan. 20011 439 inlägg
#1

Oki..ingen som svarade på mitt förra så jag gör väl ett nytt försök. Har lyckats komma en bit på väg med en här koden:

<html><head><script language="JavaScript">
function showLayer(Id){
if (document.all) {
document.all[Id].style.visibility = "visible";
} else if (document.layers){
document.layers[Id].visibility = "show";
} else if (document.getElementById){
document.getElementById(Id).style.visibility = "visible";
}
}
function hideLayer(Id){
if (document.all) {
document.all[Id].style.visibility = "hidden";
} else if (document.layers){
document.layers[Id].visibility = "hide";
} else if (document.getElementById){
document.getElementById(Id).style.visibility = "hidden";
}
}
</script>
</head><body>
<MAP NAME="frameup1_Map">
<AREA SHAPE="rect" ALT="" COORDS="580,79,755,94" onMouseover=showLayer('five');>
</MAP>
<center><img src="images/logo.gif" align=center USEMAP="#frameup1_Map" border=0></center><br>

<div id="five" style="position:absolute;top:108px;left:684px;visibility:hidden;">
<img src="images/rullist1.gif" onMouseout=hideLayer('five');>
</div>
</form>
</body></html>

Problemet är att den inte alls funkar i Netscape. Någon som vet varför?

------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

ProbyteMedlem sedan maj 200174 inlägg
#2

Ge oss en url med sidan att titta på, tack.

------------------
:: mattias :: www ::

BendroMedlem sedan jan. 20011 439 inlägg
#3

Ligger inte ute skarpt än. Och nu måste jag rusa...får återkomma på tisdag. Tack i alla fall

------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

JojoxxMedlem sedan juni 20004 306 inlägg
#4

Umm... Först ligger en </form> kvar och skräpar :) Sen fungerar inte onMouseover på area-taggen i Netscape (4) ifall det inte finns någon href, så det lägger vi till. Sedan reagerar inte Netscape (4) på några som hellst event på <img>-taggar, så det får vi flytta ut lite till lagret. Netscape reagerar inte på onMouseover där heller egentligen, men Johnsen kom med ett bra förslag att även lägga till en <layer>-tagg i lagret, så funkar det även i Netscape. Då blir det så här;

<html>
<head>
<script language="JavaScript">
function showLayer(Id){
if (document.all) {
document.all[Id].style.visibility = "visible";
} else if (document.layers){
document.layers[Id].visibility = "show";
} else if (document.getElementById){
document.getElementById(Id).style.visibility = "visible";
}
}
function hideLayer(Id){
if (document.all) {
document.all[Id].style.visibility = "hidden";
} else if (document.layers){
document.layers[Id].visibility = "hide";
} else if (document.getElementById){
document.getElementById(Id).style.visibility = "hidden";
}
}
</script>
</head>

<body>
<MAP NAME="frameup1_Map">
<AREA href="#" SHAPE="rect" ALT="" COORDS="580,79,755,94" onMouseover="showLayer('five');">
</MAP>
<center><img src="images/logo.gif" USEMAP="#frameup1_Map" border=0></center><br>

<div id="five" style="position:absolute;top:top:108px;left:684px;visibility:hidden;" onMouseout="hideLayer('five');"><layer onMouseout="hideLayer('five');">
<img src="images/rullist1.gif">
</layer>
</div>
</body>
</html>

------------------

/ J

BendroMedlem sedan jan. 20011 439 inlägg
#5

Bugar och tackar...

Jojoxx rules! :)

------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

BendroMedlem sedan jan. 20011 439 inlägg
#6

Var nere på jobbet och testkörde koden...fick följande fel:

document.layers[Id] has no properties. 
JavaScript Error: file:/J&#0124;/www/dropdown.htm, line 17:

Och en fråga till...går det att lägga logobilden i överframe och låta menybilden komma fram i mittframe?
------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

[Redigerat av Bendro den 03 jun 2001]

JojoxxMedlem sedan juni 20004 306 inlägg
#7

document.layers[Id] has no properties.
JavaScript Error: file:/J|/www/dropdown.htm, line 17:

Förenklat säger webbläsaren att den inte hittar lagret. Det kan antingen bero på att du anropar funktione med fel namn/id, eller så är lagret inte skapat (vid det tillfälle som funktionen anropas).

Vad det beträffar att kommunicera mellan frames lägger du med fördel script-blocket som samma sida som lagren. För att sedan anropa funktionerna som visar/gömmer lagren lägger du till parent.framenamn före funktionsnamnet.

Ett tips för vidare felsökning är att du lägger ut sidan så den går att visa över nätet. Annars blir det gärna att man sitter och gissar fram vad som kan vara fel.

------------------
/ J

BendroMedlem sedan jan. 20011 439 inlägg
#8

Sidan läggs ut på tisdag när jag är tillbaka på kontoret. Kan återkomma då.

Lyckades fixa att visa/dölja lager i en annan frame. Men kom på att det skulle funka bättre om lagret ligger i topframe och visas ner ifrån topframe över mittframe. Problemet är att lagret döljs under mittframen. Löser jag det är jag i stort sett hemma...och jag antar att det egentligen är ganska lätt...eller? :)

------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

BendroMedlem sedan jan. 20011 439 inlägg
#9

Ok..nu ligger sidan ute..hittas här

Bilden som skall komma fram försvinner bakom main-frame. Behöver få den att läggas överst...någon som vet hur?

------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

JohnsenMedlem sedan juli 2000718 inlägg
#10

Jag tror inte det går att få ett lager att visas över frame-gränser, om det är någon som är av annan åsikt är ag mycket nyfiken på hur i så fall.

En lösning på ditt problem kan vara detta: http://www9.ewebcity.com/johnsen/bendro/index.htm

Det blir kanske lite meckigt att lägga till kod i main.htm, men det funkar i alla fall i IE4+, NN4+, NS6 & Opera.

------------------
- J-O-H-N-S-E-N -
------------------

BendroMedlem sedan jan. 20011 439 inlägg
#11

Testade ngt liknande häromdagen men stötte på ett nytt problem.
Jag la ut menyn som imagemap och när man förde muspekaren över en länk så tolkades det som en onMouseout och lagret släcktes innan man ens haft chansen att klicka på länken.

------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

JohnsenMedlem sedan juli 2000718 inlägg
#12

Ahh, jag förstår.
Kolla på ovanstående länk nu, så skall även det problemet vara löst.

------------------
- J-O-H-N-S-E-N -
------------------

BendroMedlem sedan jan. 20011 439 inlägg
#13

Bugar så djupt det bara går och tackar tusenfalt :)

------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

BendroMedlem sedan jan. 20011 439 inlägg
#14

I´m back.

Tänkte det var lika bra att fortsätta på den gamla tråden eftersom min nya fråga bygger på den.

Om ni kollar här ser ni lättare vad jag menar. Gå till E-tuna blocket, klicka på Muranvisnign och teknisk beskrivning.

Om man står en bit ner på sidan och skall till navigeringen syns den inte. Ganska självklart eftersom den har sina fasta positionsvärden. Men det kan vara lite förvirrande för en ovan besökare. Går det att få den så att den alltid ligger direkt under "knappen" Navigering oavsett hur mycket besökaren har scrollat neråt?

------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

JohnsenMedlem sedan juli 2000718 inlägg
#15

Läg till detta i skriptet på sidan med lagret,

function stay(){
if(document.all){document.all["five"].style.top=document.body.scrollTop;}
else if(document.getElementById){document.getElementById("five").style.top=window.pageYOffset; setTimeout("stay()",50)}
else{document.layers["five"].top=window.pageYOffset; setTimeout("stay()",50)}
}

window.onresize=stay;
window.onscroll=stay;
if(document.getElementById&&!document.all){setTimeout("stay()",50)}

------------------
- J-O-H-N-S-E-N -
------------------

BendroMedlem sedan jan. 20011 439 inlägg
#16

Funkar utmärkt...tusen tack

------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb