Avatar billede sjh Nybegynder
16. marts 2007 - 19:57 Der er 15 kommentarer og
2 løsninger

Navigerer rundt ved hjælp af piletasterne

Nogle som kan hjælpe mig med at lave det så man kan navigerer rundt på alle links ved hjælp af piletasterne ??

Jeg fandt noget script her : http://www.eksperten.dk/spm/645271 så måske kan hjælpe på vej.
Så mangler der bare at man kan gå til højre og venstre.
Avatar billede roenving Novice
16. marts 2007 - 20:06 #1
Hrm, svaret står jo i spørgsmålet:

function kDown(e) {
    e = e? e : window.event;
    if (e.keyCode==38 ||e.keyCode==37) { // Up or Right
        if (btnInx>0) btnInx--;
        else btnInx = aBtns.length-1;
    }
    if (e.keyCode==40 || e.keyCode==39) { // Down or Left
        if (btnInx<aBtns.length-1) btnInx++;
        else btnInx = 0;
    }
    aBtns[btnInx].focus();
}
Avatar billede sjh Nybegynder
16. marts 2007 - 20:22 #2
Jeps.. men kan ikke lige finde en ide til hvordan jeg får det til at funke hvis den skal tag links til højre og venstre / op og ned.
Avatar billede roenving Novice
16. marts 2007 - 20:28 #3
Kan du ikke bruge ovenstående sammen med det andet, der står i tråden ?-)
Avatar billede sjh Nybegynder
16. marts 2007 - 20:28 #4
fx. her skal man kunne bruge piletasterne højre og venstre for at komme til de andre links...

<table>
  <tr>
    <td>
      <a href="#">Link 1,1</a><br>
      <a href="#">Link 1,2</a><br>
      <a href="#">Link 1,3</a><br>
      <a href="#">Link 1,4</a>
    </td>
    <td>
      <a href="#">Link 2,1</a><br>
      <a href="#">Link 2,2</a><br>
      <a href="#">Link 2,3</a><br>
      <a href="#">Link 2,4</a>
    </td>
  </tr>
</table>
Avatar billede sjh Nybegynder
16. marts 2007 - 20:32 #5
Jeg har prøvet om jeg kunne finde ud af hvordan de gør på sputnik :D
http://tv.sputnik.dk/tv.html

men det fatter jeg ikke en meter af......
Avatar billede sjh Nybegynder
16. marts 2007 - 21:26 #6
Jeg ved ikke om det kan lade sig gøre.. men kan man ikke lave en form for tabel med position på de links som er på siden??

ved bare ikke lige hvordan man kunne gøre det..
Avatar billede roenving Novice
16. marts 2007 - 21:54 #7
Hrm, hvis du skal have focus dur det jo ikke med links ...
Avatar billede sjh Nybegynder
16. marts 2007 - 22:05 #8
Nej det jeg mener er om man ikke kunne finde den position på det link som er tetest på, hvis man fx. trykker på piletasten til højre osv..
Avatar billede sjh Nybegynder
16. marts 2007 - 22:14 #9
Altså først finde position1 det link som har focus, og der efter finde det link som skal ha focus.. ud fra den anden position1 om man trykker op/ned/højre/venstre
Avatar billede sjh Nybegynder
16. marts 2007 - 22:19 #10
Ja eller hvis der kan findes en anden løsning end focus, så er det også ok.. bare man kan se hvor man er.. og man kan aktiver linket ved at trykke enter eller return
Avatar billede sjh Nybegynder
18. marts 2007 - 23:30 #11
Jeg er støt ind i et lille problem, jeg prøver at finde position på de links som er på siden..

men når den køre i window.onload=function() skriver DIV(test) position (60x58 url: #8)
men det passer ikke for den passer med (60x58 url: #7) hvis man føre musen over Link 2,4
som er #8 så skriver den (79x58 url: #8) hvad gør jeg forkert?


det skal lige siges at position nummer ikke er de samme i firefox som i IE. Men det er ikke det som er problemet.



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <title>TEST</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script type="text/JavaScript">
var eTop, eLeft;

function getPosX(obj)
{
  var curleft = 0;
  if (obj.offsetParent){
    while (obj.offsetParent){
      curleft += obj.offsetLeft;
      obj = obj.offsetParent;
    }
  }
  else if (obj.x)
    curleft += obj.x;
  return curleft;
}

function getPosY(obj)
{
  var curtop = 0;
  if (obj.offsetParent){
    while (obj.offsetParent){
      curtop += obj.offsetTop;
      obj = obj.offsetParent;
    }
  }
  else if (obj.y)
    curtop += obj.y;
  return curtop;
}

function addEvent(obj, ev, fn)
{
  if (obj.addEventListener)
  {
    return obj.addEventListener(ev, fn, false);
  } else {
    return obj.attachEvent("on" + ev, fn);
  }
}

function eMouse(e)
{
  if(!e)
  {
    var e = window.event;
  }
  if(e.srcElement)
  {
    var e = e.srcElement;
  }
  else if(e.target)
  {
    var e = e.target;
  }

  if (e.tagName == "A")
  {
    eTop = getPosY(e);
    eLeft = getPosX(e);
    document.getElementById("test").innerHTML=eTop+'x'+eLeft+' url: '+e;
  }

}

function eKey(e)
{
  alert(e.keyCode+': '+eTop+'x'+eLeft);
}

window.onload = function()
{
  addEvent(document, "keydown", eKey);
  addEvent(document, "mousemove", eMouse);

  var objAll = document.getElementsByTagName("*");
 
  for (i = 0; i < objAll.length; i++)
  {
    if (objAll[i].tagName == "A")
    {
      var e = objAll[i];
    }
  }

  eTop = getPosY(e);
  eLeft = getPosX(e);
  document.getElementById("test").innerHTML=eTop+'x'+eLeft+' url: '+e;

}
</script>

  </head>
  <body>

<div id="test"></div>

<table>
  <tr>
    <td>
      <a href="#1">Link 1,1</a><br>
      <a href="#2">Link 1,2</a><br>
      <a href="#3">Link 1,3</a><br>
      <a href="#4">Link 1,4</a>
    </td>
    <td>
      <a href="#5">Link 2,1</a><br>
      <a href="#6">Link 2,2</a><br>
      <a href="#7">Link 2,3</a><br>
      <a href="#8">Link 2,4</a>
    </td>
  </tr>
</table>

  </body>
</html>
Avatar billede sjh Nybegynder
18. marts 2007 - 23:44 #12
hmmm sjovt.. hvis jeg køer den såden så virker den..???

  eLeft = getPosX(e);
  document.getElementById("test").innerHTML=eTop+'x'+eLeft+' url: '+e;
  eTop = getPosY(e);
  document.getElementById("test").innerHTML=eTop+'x'+eLeft+' url: '+e;
Avatar billede sjh Nybegynder
19. marts 2007 - 20:57 #13
ahh.. jeg giver op.. kan sq ikke få det til at virker som jeg vil have det..

roenving smider du lige et svar som tak for hjælpen.
Avatar billede roenving Novice
19. marts 2007 - 21:31 #14
Oki '-)

-- men behold selv de fleste af dine point ;~}
Avatar billede sjh Nybegynder
19. marts 2007 - 21:39 #15
Ok.. så deler vi dem da :D
Avatar billede sjh Nybegynder
19. marts 2007 - 21:40 #16
mange tak for hjælp og kommentar.
Avatar billede roenving Novice
19. marts 2007 - 21:41 #17
-- og jeg takker 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