/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Javascript, virker i MSIE men ikke i Firef~
Fra : Kasper S Nielsen


Dato : 28-08-05 10:02

Det her script skal vise et layer "OnMouseOver" - det virker i MSIE men
ikke i FireFox, er der nogen der kan se en løsning?





<script type="text/javascript" language="JavaScript"><!--
function show(object) {
if (document.layers && document.layers[object])
document.layers[object].visibility = 'visible';
else if (document.all)
document.all[object].style.visibility = 'visible';
}

function hide(object) {
if (document.layers && document.layers[object])
document.layers[object].visibility = 'hidden';
else if (document.all)

document.all[object].style.visibility = 'hidden';
}
//--></script>

<style type="text/css"><!--
.myLayersClass { position: absolute; visibility: hidden; }
//--></style>

<a href="index.htm" onMouseOver="show('xxxx')"
onMouseOut="hide('xxxx')">Link Text</a>


<div id="xxxx" class="myLayersClass">
Put some text in this layer...
</div>


 
 
Jens Peter Karlsen [~ (28-08-2005)
Kommentar
Fra : Jens Peter Karlsen [~


Dato : 28-08-05 15:07

Du specificerer dels document.layers som kun virker i Netscape4 ingen
andre. Så da der næppe er nogen der bruger den mere kan du udelade den
del. Dels bruger du document.all som kun virker i IE.
I stedet skal du tildele dine lag et unikt ID (som du allerede har
gjort) og så adressere dette ID.

Her er en function jeg skrev til at skjule og vise to lag samtidigt.
Fjern det der har med curdiv2 at gøre så virker den på kun et lag.

function showhide(curdiv, curdiv2){
if (document.getElementById(curdiv).style.display != "none")
{
document.getElementById(curdiv).style.display = "none";
}
else {
document.getElementById(curdiv).style.display = "block";
}
if (curdiv2 != null){
if (document.getElementById(curdiv2).style.display != "none")
{
document.getElementById(curdiv2).style.display = "none";
}
else {
document.getElementById(curdiv2).style.display = "block";
}
}
}

Forskellen på at bruge display = "none og visibility = "hidden" er at
i førstnævnte tilfælde tager laget ikke plads op på siden mens det gør
i sidstnævnte selv om det er skjult. Hvad du skal bruge afhænger af
den visuelle effect du er ude efter.

Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.

On Sun, 28 Aug 2005 11:01:37 +0200, Kasper S Nielsen <ksn@get2net.dk>
wrote:

>Det her script skal vise et layer "OnMouseOver" - det virker i MSIE men
>ikke i FireFox, er der nogen der kan se en løsning?
>
><script type="text/javascript" language="JavaScript"><!--
>function show(object) {
> if (document.layers && document.layers[object])
> document.layers[object].visibility = 'visible';
> else if (document.all)
> document.all[object].style.visibility = 'visible';
> }


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste