Avatar billede hooh Nybegynder
09. juli 2002 - 10:52 Der er 9 kommentarer og
1 løsning

style : pointer

Jeg har en if sætning her.

if(el.style.color!='red' && el.style.color.toUpperCase!='LightGrey'.toUpperCase)
  el.style.color = '#0000ff';
else
  el.style.cursor = 'pointer';

Her får jeg en fejl :
Egenskaben cursor kunne ikke hentes. Argumentet er ugyldigt.

hvordan ændrer man mousecursoren via et script?
Avatar billede nikolajdu Nybegynder
09. juli 2002 - 11:05 #1
Hvorfor angiver du ikke dine farver hex istedet for alt det pladder (undskyld) for at lave en grå og en rød.

/Nikolaj
Avatar billede jakoba Nybegynder
09. juli 2002 - 11:13 #2
toUpperCase er en funktion. der skal stå () efter. ellers er det funktionens adresser du sammenligner.

Det officielt W3.org navn for 'den lille hånd' er pointer, men IE vil have at du skriver 'hand' istedet.

if(el.style.color!='red' && el.style.color.toUpperCase()!='LightGrey'.toUpperCase())
    el.style.color = '#0000ff';
else
    if (window.innerwidth) { // tettænkende browsere
        el.style.cursor = 'pointer';
    } else { // ie
        el.style.cursor = 'hand';
    }

mvh JakobA
Avatar billede jakoba Nybegynder
09. juli 2002 - 11:43 #3
Og det er bedst som nikolajdu siger at sætte og teste farverne i hex (de fleste af de browsere der forstår navne oversætter til hex internt.

if(el.style.color!='#FF0000' && el.style.color.toUpperCase()!='#EEEEEE')
Avatar billede hooh Nybegynder
09. juli 2002 - 12:15 #4
ok

Jeg kan ikke ændre farverne nu, da de er lavet af nogle andre og er placeret mange steder.

jeg har sat () på toUpperCase

men det løser stadig ikke mit problem med

el.style.cursor = 'pointer'

hand virker helt fint - nu vil jeg bare have en pil istedet(default cursor)

det er som om at den ikke kan li' at jeg skriver el.style.cursor
Avatar billede jakoba Nybegynder
09. juli 2002 - 13:00 #5
hvor får du variablen el fra?  og hvordan?
Avatar billede hooh Nybegynder
09. juli 2002 - 14:14 #6
her er nogle små udpluk af koden :


Response.Write "<table class=alphabet id=alphabetTable><tr onclick='getLetter();' onmouseover='mouseOver();' onmouseout='mouseOut();'>"   
Response.Write "<td tabindex=5 id='_A' title='Vis alle'><b>*</b></td>"

function mouseOver() {
  var el = event.srcElement;
  if(el.style.color!='red' && el.style.color.toUpperCase()!='LightGrey'.toUpperCase())
  el.style.color = '#0000ff'
else
  el.style.cursor = 'pointer'; //denne linie virker ikke
}
Avatar billede hooh Nybegynder
09. juli 2002 - 14:16 #7
her et nogle små udpluk af koden :


Response.Write "<table class=alphabet id=alphabetTable><tr onclick='getLetter();' onmouseover='mouseOver();' onmouseout='mouseOut();'>"   
Response.Write "<td tabindex=5 id='_A' title='Vis alle'><b>*</b></td>"

function mouseOver() {
  var el = event.srcElement;
  if(el.style.color!='red' && el.style.color.toUpperCase()!='LightGrey'.toUpperCase())
  el.style.color = '#0000ff'
else
  el.style.cursor = 'pointer'; //denne linie virker ikke
}
Avatar billede ras2000 Nybegynder
09. juli 2002 - 14:44 #8
Prøv el.style.cursor = "default"; i stedet.
Avatar billede jakoba Nybegynder
09. juli 2002 - 14:46 #9
med nedenstående if-sætning (kopieret fra svar af 09/07-2002 11:13:44)
    if (window.innerwidth) { // rettænkende browsere
        el.style.cursor = 'pointer';
    } else { // ie
        el.style.cursor = 'hand';
    }
bliver cursor sat forskelligt altefter hvilken browser der er tale om.

Men det sel lidt ud til at du sammenblander ASP kode med javascript kode. Javascript koden udføres på klienten og skal derfor stå i den HTML fil der genereres med ASP. Den har ingen effekt hvis den står i en asp-sektion sammen med fx kald til Response.Write(...)

mvh JakobA
Avatar billede hooh Nybegynder
10. juli 2002 - 19:22 #10
Det virker nu!
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