Avatar billede Slettet bruger
27. februar 2005 - 01:26 Der er 10 kommentarer og
1 løsning

Spørgsmål omkring Hotkeys.

Hej

Jeg ville lige høre om det kan lade sig gøre at lave et java-script som udfører en bestemt handling når man trykker på én af piletasterne? Jeg har nemlig et slideshow som via skifter til næste billede via et hyperlink som ser sådan her ud:
<a href="#" OnClick="Next();">Næste billede</a>

Men kan man ikke på én eller anden smart måde supplere det med at man også kan bruge piletasterne til at skifte til næste og forrige billede med?

Hvis du kan lave et java-script som kan dette, er de 200 point dine...!

Med venlig hilsen

Dan
Avatar billede jint Nybegynder
27. februar 2005 - 03:06 #1
du kan sikkert modificere dette script til at passe ind i dit system:

http://www.webreference.com/js/tips/991124.html
Avatar billede Slettet bruger
27. februar 2005 - 13:11 #2
Hej

Ja, nu har jeg kigget lidt på scriptet:

<SCRIPT LANGUAGE="JavaScript1.2">
<!--

var NS = (window.Event) ? 1 : 0;

function checkKey(e) {
  var code = (NS) ? e.which : event.keyCode;
  var key = String.fromCharCode(code);
  for (var i = 0; i < ar.length; i++) {
    if (key == ar[i].key) location.href = ar[i].url;
  }
}

function hotKey(key, url) {
  this.key = key;
  this.url = url;
}

if (NS) document.captureEvents(Event.KEYPRESS)
document.onkeypress = checkKey;

var ar = new Array();
ar[ar.length] = new hotKey("h", "http://www.docjs.com/");
ar[ar.length] = new hotKey("m", "http://www.microsoft.com/");
ar[ar.length] = new hotKey("n", "http://www.netscape.com/");

// -->
</SCRIPT>

Men jeg forstår det ikke rigtigt...
Det skal jo netop ikke referere til en url. Men til en function. Altså det skal lave en "onclick"- funktion.
I mit slideshow hedder linket til det næste billede for eksempel:

<a href="#" onclick="Next();">Næste billede</a>

Det er det jeg gerne vil have at scriptet skal udføre når man trykker på én af piletasterne. Men det ovenstående script refererer jo kun til en url...

Hvordan kan man ændre dette?

Med venlig hilsen

Dan
Avatar billede jint Nybegynder
27. februar 2005 - 13:31 #3
tror desværre ikke det bliver så nemt, men jeg har da fundet et link hvor du kan læse dig lidt klogere.

http://www.udm4.com/menu/modules/keyboard/
Avatar billede olebole Juniormester
27. februar 2005 - 14:06 #4
<ole>

Det er formodentligt ikke så svært, hvis du har dine billeder liggende i et array - men det er umuligt at sige præcist, hvordan det skal gøres, når ikke man kan se scriptet, det skal virke med

/mvh
</bole>
Avatar billede roenving Novice
27. februar 2005 - 14:08 #5
Prøv f.eks.

<script language="javascript" type="text/javascript">
function checkKey(e) {
  var code = (e) ? e.which : event.keyCode;
  if(code<41&&code>36)
    eval(ar[code]);
}

if (window.Event) document.captureEvents(Event.KEYDOWN)
document.onkeydown = checkKey;

var ar = new Array();
ar[37] = "goLeft()";
ar[38] = "goUp()";
ar[39] = "goRight()";
ar[40] = "goDown()";

function goLeft(){
  alert('PilVenstre trykket');
}
function goUp(){
  alert('PilOp trykket');
}
function goRight(){
  alert('PilHøjre trykket');
}
function goDown(){
  alert('PilNed trykket');
}
</script>
Avatar billede Slettet bruger
27. februar 2005 - 18:50 #6
Hej.

Ja, den er der næsten...
Det er bare ikke en alert den skal sætte igang...
Den skal skifte billedet i slideshowet...
Sådan at den laver noget der ligner en "OnClick"- funktion...
Denne hedder i mit slideshow "Next();"...
Et script som ville gøre det samme som at klikke på nedenstående:

<a href="#" onclick="Next();">Næste Billede</a>

Bare ved at man skal bruge en piletast i stedet...


Med venlig hilsen

Dan

P.S. Sig til hvis du vil have hele slideshow-scriptet... Men det er lidt af en mundfuld...
Avatar billede roenving Novice
28. februar 2005 - 12:09 #7
Så udskifter du mine pilfunktioner med det, du vil:

ar[39] = "Next()";//tryk på højre-pil
Avatar billede Slettet bruger
28. februar 2005 - 13:21 #8
Hej

Mange tak skal du have!!! Nu virker det... Og det er jeg meget glad for!

Jeg har lige et sidste spørgsmål her på falderebet: Hvordan finder jeg ud af hvilke numre forskellige taster på tastaturet har? Findes der et sted man slå det op, eventuelt på nettet?

Og kan du ikke lige smide et svar, sådan at du kan få dine velfortjente points...

Med venlig hilsen

Dan
Avatar billede roenving Novice
28. februar 2005 - 14:08 #9
Jeg brugte en alert i funktionen, jeg er sikker på, at du kan finde en samling et-eller-andet sted, men det er så sjældent, jeg skal bruge enkelte taster, at det er nemt nok bare at hente de aktuelle med alerts !-)

Velbekomme '-)
Avatar billede roenving Novice
01. marts 2005 - 07:46 #10
-- og tak for point ;~}
Avatar billede Slettet bruger
01. marts 2005 - 08:07 #11
Det var så lidt...
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