Avatar billede sth Novice
11. februar 2006 - 23:46 Der er 3 kommentarer og
1 løsning

JavaScript i laver fejl Firefox og opera

jeg bruger nedenstående JavaScript så brugeren hurtig kan komme tilbage til toppen, koden virker i IE og min knap (pil.png) vises 580 px inde på siden men i firefox (1,5) vises den ca. efter 500 px og i opera (8,51) går det helt galt for her vises kun knappen (pil.png) jeg kan lige nå og se at resten af mins data hentes men så forsvinder de så jeg kun kan se knappen og ikke andet men hvis jeg bruger den en tekst og ikke en knap så virker det også i opera

Er opera med anderledes end firefox og IE har også en anden kode der ikke virker i opera

Er der nogen der kan rette koden / eller har en brugbar kode ?
eller kan vise mig hvordan jeg laver det så den kun køres hvis brugeren bruger IE
altså noget i stil med
<%if IE then%>
<script language="javascript" src="../include/jumptop.js"></script>
<%else
end if%>


det omtalte JavaScript  er hentet her:http://www.dynamicdrive.com/dynamicindex5/jumptop.htm


/***********************************************
* Jump To Top Link Script- © Dynamic Drive (www.dynamicdrive.com)
* Last updated Dec 04 by cr3ative
* ONLY WORKS IN INTERNET EXPLORER
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
//Specify the text to display
//var displayed="<nobr><b>[Top]</b></nobr>"  // Hvis jeg bruger denne virker  det i opera

var displayed="<nobr><IMG SRC='../images/pil.png' WIDTH='27' HEIGHT='28' BORDER='0' ALT='Til top'</nobr>"

///////////////////////////Do not edit below this line////////////

var logolink='java script:window.scrollTo(0,0)'
var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function regenerate(){
window.location.reload()
}
function regenerate2(){
if (ns4)
setTimeout("window.onresize=regenerate",400)
}

if (ie4)
document.write('<span id="logo" style="position:absolute;top:-300px;z-index:100">'+displayed+'</span>')

function createtext(){ //function for NS4
staticimage=new Layer(5)
staticimage.left=-300
staticimage.document.write('<a href="'+logolink+'">'+displayed+'</a>')
staticimage.document.close()
staticimage.visibility="show"
regenerate2()
staticitns()
}

function staticit(){ //function for IE4/ NS6
var w2=ns6? pageXOffset+w : ietruebody().scrollLeft+w
var h2=ns6? pageYOffset+h : ietruebody().scrollTop+h
crosslogo.style.left=580+"px"
crosslogo.style.top=h2+"px"
}


function staticit2(){ //function for NS4
staticimage.left=580
staticimage.top=pageYOffset+window.innerHeight-staticimage.document.height-10
}

function inserttext(){ //function for IE4/ NS6
if (ie4)
crosslogo=document.all.logo
else if (ns6)
crosslogo=document.getElementById("logo")
crosslogo.innerHTML='<a href="'+logolink+'">'+displayed+'</a>'
w=ns6 || window.opera? window.innerWidth-crosslogo.offsetWidth-20 : ietruebody().clientWidth-crosslogo.offsetWidth-10
h=ns6 || window.opera? window.innerHeight-crosslogo.offsetHeight-15 : ietruebody().clientHeight-crosslogo.offsetHeight-10
crosslogo.style.left=580+"px"
crosslogo.style.top=h+"px"
if (ie4)
window.onscroll=staticit
else if (ns6)
startstatic=setInterval("staticit()",100)
}

if (ie4||ns6){
if (window.addEventListener)
window.addEventListener("load", inserttext, false)
else if (window.attachEvent)
window.attachEvent("onload", inserttext)
else
window.onload=inserttext
window.onresize=new Function("window.location.reload()")
}
else if (ns4)
window.onload=createtext

function staticitns(){ //function for NS4
startstatic=setTimeout("staticit2()",90)
}
Avatar billede roenving Novice
12. februar 2006 - 05:14 #1
-- du afslutter jo ikke dit img-tag ?-)
Avatar billede sth Novice
12. februar 2006 - 09:38 #2
du arbejder da ellers sent :-) nå men du havde selvf. ret, jeg kunne bare ikke finde fejlen, det var nok blevet for sent til mig.
ok så nu virker den i opera og næsten også i firefox dog vises knappen ikke efter 580 px men efter ca. 500-550 px også selv om jeg sætter den til 1000, hvar du en ide om hvorfor ?

men smid et svar så kan du få point
Avatar billede roenving Novice
13. februar 2006 - 12:44 #3
Oki '-)
Avatar billede roenving Novice
14. februar 2006 - 11:46 #4
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester