JavaScipt

Litt om språket


Plassering av JavaScript-kode

Vi kan i prinsipp plassere javaScript-kode hvor vi vil på en HTML-side.

JavaScipt i <head>-elementetst, js2.html

<html>
<head>
  <script type="text/javascript">
  function melding(){
      alert("Hello World!");
  }
  </script>
</head>
<body onload="melding()">
</body>
</html>

Et bedre alternativ er å legge skriptet på en fil for seg og la nettleseren hente det når siden lastes:

<script type="text/javascript" src="mycode.js"></script>

Det er to grunner til dette.

Javascript på egen fil, js3.html, kode1.js

<html>
<head>
  <script type="text/javascript" src="mycode.js"></script> 
</head>
<body onload="melding()">
</body>
</html>


Deklarering av variabler

var Alder=5; 
var navn="Hans Elg";
var bilde="bilder/elg1"

Programeksempel: js4.html, kode4.js


Funksjoner

Syntaksen for å definere en funksjon

function funksjonsnavn(var1,var2,...,varX)
{
  kode; 
}

var1, var2 osv er variabler som overføres til funksjonen som parametere.

En funksjon uten parametere må likevel ha parentseser () etter funksjonsnavnet

function funksjonsnavn()
{
  kode;
}

Returvedi til funksjoner

return setningen brukes til å returnere en verdi fra funksjonen.

function prod(a,b)
{
  x=a*b;
  return x;
}

Funkjsjonen må kalles med to parametere

produkt=prod(2,3)

Returverdien fra funksjonen prod() er 6, og blir lagret i en variabel men navn produkt.


Eventer

Med JavaScript kan man lage dynamiske websider. Eventer er handlinger som kan oppdages av JavaScript. Et hvert element på en webside har eventer som kan trigge JavaScript-funksjoner.

Oversikt over eventer

Event Intreffer når...... Brukes sammen med
onabort Når lasting av et et bilde blir avbrudt <img>
onblur Et element mister fokus <a>, <acronym>, <address>, <area>, <b>, <bdo>, <big>, <blockquote>, <button>, <caption>, <cite>, <dd>, <del>, <dfn>, <div>, <dl>, <dt>, <em>, <fieldset>, <form>, <frame>, <frameset>, <h1> to <h6>, <hr>, <i>, <iframe>, <img>, <input>, <ins>, <kbd>, <label>, <legend>, <li>, <object>, <ol>, <p>, <pre>, <q>, <samp>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <table>, <tbody>, <td>, <textarea>, <tfoot>, <th>, <thead>, <tr>, <tt>, <ul>, <var>
onchange Brukeren endrer innholdet av et felt <input type="text">, <select>, <textarea>
onclick Musen klikkes på et objekt <a>, <address>, <area>, <b>, <bdo>, <big>, <blockquote>, <body>, <button>, <caption>, <cite>, <code>, <dd>, <dfn>, <div>, <dl>, <dt>, <em>, <fieldset>, <form>, <h1> to <h6>, <hr>, <i>, <img>, <input>, <kbd>, <label>, <legend>, <li>, <map>, <object>, <ol>, <p>, <pre>, <samp>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <table>, <tbody>, <td>, <textarea>, <tfoot>, <th>, <thead>, <tr>, <tt>, <ul>, <var>
ondblclick Musen dobbelklikkes på et objekt
onerror En feil intreffer når et bilde lastes. <img>, <object>, <style>
onfocus Et element får fokus <a>, <acronym>, <address>, <area>, <b>, <bdo>, <big>, <blockquote>, <button>, <caption>, <cite>, <dd>, <del>, <dfn>, <div>, <dl>, <dt>, <em>, <fieldset>, <form>, <frame>, <frameset>, <h1> to <h6>, <hr>, <i>, <iframe>, <img>, <input>, <ins>, <kbd>, <label>, <legend>, <li>, <object>, <ol>, <p>, <pre>, <q>, <samp>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <table>, <tbody>, <td>, <textarea>, <tfoot>, <th>, <thead>, <tr>, <tt>, <ul>, <var>
onkeydown En tast på tasttaturet trykkes <a>, <acronym>, <address>, <area>, <b>, <bdo>, <big>, <blockquote>, <body>, <button>, <caption>, <cite>, <code>, <dd>, <del>, <dfn>, <div>, <dt>, <em>, <fieldset>, <form>, <h1> to <h6>, <hr>, <i>, <input>, <kbd>, <label>, <legend>, <li>, <map>, <object>, <ol>, <p>, <pre>, <q>, <samp>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <table>, <tbody>, <td>, <textarea>, <tfoot>, <th>, <thead>, <tr>, <tt>, <ul>, <var>
onkeypress En tast på tasttaturet trykkes og holdes nede
onkeyup En tast på tasttaturet slippes
onload En side eller et bilde blir lastet <body>, <frame>, <frameset>, <iframe>, <img>, <link>, <script>
onmousedown En museknapp er trykket <a>, <address>, <area>, <b>, <bdo>, <big>, <blockquote>, <body>, <button>, <caption>, <cite>, <code>, <dd>, <dfn>, <div>, <dl>, <dt>, <em>, <fieldset>, <form>, <h1> to <h6>, <hr>, <i>, <img>, <input>, <kbd>, <label>, <legend>, <li>, <map>, <ol>, <p>, <pre>, <samp>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <table>, <tbody>, <td>, <textarea>, <tfoot>, <th>, <thead>, <tr>, <tt>, <ul>, <var>
onmousemove Musen er flyttet
onmouseout Musen er flyttet ut av et element
onmouseover Musen er over et element
onmouseup En museknapp slippes
onreset Reset knappen er trykket <form>
onresize Et vindu eller en ramme har endret størrelse <a>, <address>, <b>, <big>, <blockquote>, <body>, <button>, <cite>, <code>, <dd>, <dfn>, <div>, <dl>, <dt>, <em>, <fieldset>, <form>, <frame>, <h1> to <h6>, <hr>, <i>, <img>, <input>, <kbd>, <label>, <legend>, <li>, <object>, <ol>, <p>, <pre>, <samp>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <table>, <textarea>, <tt>, <ul>, <var>
onselect Tekst er valgt <input type="text">, <textarea>
onsubmit Submit knappen er trykket <form>
onunload Brukeren forlatetr en side <body>, <frameset>

onclick genereres når en museknapp trykkes inn: klikk.html, kodeklikk.js


Knapp

<input type="button" value="Klikk" id="knapp1" onclick="handling()" />

knapp.html, kodeknapp.js


DOM

HTML Document Object Model (HTML DOM) definerer en standard for å aksessere og manipulere HTML dokumenter. Velformede XML-dokumenter lar seg beskrive i en trestruktur

Viktig DOM metode

document.getElementById(id)

Brukes til å "gripe" et html-element.

document.getElementById(id).innerHTML

Refererer til innholdet av elementet (det som er mellom taggene)

Eksempler:

Henter verdien til et element: dom1.html

Viser id, type og value til et element: dom3.html

Kalkulator: kalkulator.html