webForumDet fria alternativet

Öka med 1.

JavaScriptur Javascript

6 svar · 202 visningar · startad av Gustav

Medlem sedan jan. 20001 932 inlägg
Frågan#1

Halluuuuu!

Jag håller på med ett kunskapsprov som man ska kunna göra på internet.

Då har jag två navigeringspilar...en framåt och en bakåt (bland frågorna). Varje fråga består av en egen html-sida som heter 1.html, 2.html, 3.html osv.

Som det är nu så får ju jag koda in adressen dit pilarna ska länka...de ändrar ju sig med +1 för varje fråga.

Min fråga är: Kan man skriva ett script som gör att adressen (som pilarna ska gå till) alltid är ett (1) nummer större än adressen man är på.

Alltså är man på "prov/4.html" så ska bakåtpilen länka till "prov/3.html" och framåtpilen till "prov/5.html".

Nån som fattar vad jag menar? ;)

Medlem sedan jan. 2000189 inlägg
#2

Nu vet jag inte om det här fungerar överhuvud taget, men det här är min ide:
Man kan väl läsa in adressen och sen ta parseInt på den för att hitta numret. Sen skapar man en ny adress med nummer++

Medlem sedan jan. 20001 932 inlägg
#3

Jo, det var nåt sånt jag hade tänkt mig. Fast jag har ingen aning om hur man gör...nån som vill ställa upp för en slagen man? ;)

Medlem sedan jan. 20001 932 inlägg
#4

Glöm inte bort mig nu... *snyft*

Medlem sedan maj 200010 687 inlägg
#5

Själv kan jag inte ParseInt så jag löste det med en querystring och ett script från Jojoxx. Exempel:

<script type="text/javascript">
/* Detta script finns att hämta på [url="http://www.jojoxx.net"]http://www.jojoxx.net[/url]  och
   får användas fritt så länge som dessa rader står kvar. */

function getVar(varname) {
	var st = unescape(location.search);
	st = st.replace(/\+/g," ");
	if (st.indexOf(varname) != -1){
		var tempst = st.substring(st.indexOf(varname + "=") + varname.length + 1,st.length);
		if (tempst.indexOf("&") != -1) {
			var newtemp = tempst.substring(0, tempst.indexOf("&"));
			return newtemp;
		} else {
			return tempst;
		}
	} else {
		return("");
	}
}
</script>
<script type="text/javascript">
nummer=getVar("nummer")
back=nummer-1
forward=nummer+1
document.write("<a href=\"" + back + ".html?nummer=" + back + "\">Bakåt</a> ")
document.write("<a href=\"" + forward + "?nummer=" + forward + "\">Framåt</a>")
</script>

Då måste du skriva in adressen så här: .../5.html?nummer=5.
Sen borde man kanske lägga in en liten if sats så att man inte kommer bakåt hur långt som helst.. :)

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan juli 2000836 inlägg
#6

Så här då!

<SCRIPT LANGUAGE="JavaScript"><!--
var nuUrl =document.location.href;
var sida = nuUrl.substring(nuUrl.length-6,nuUrl.length-5)

document.write("<a href="+(sida-1)+".html>Förra sidan</a> ")
document.write("<a href="+(sida-(-1))+".html>Nästa sida</a> ")
//--></SCRIPT>

Man behöver ju inte krångla till det ;)

------------------
Eskimåer har över 40 ord för snö, men bara 3 för bottenlån med rörlig ränta.

Medlem sedan maj 200010 687 inlägg
#7

Mycket bättre än min lösning! :)

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

258 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
133 ms — hämta forumlista (db)
122 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)