webForumDet fria alternativet
Logga in / Bli medlem

Får ej JavaScripten att fungera tillsammans...

JavaScript

30 svar · 651 visningar · startad av macgunde

Medlem sedan apr. 2003110 inlägg
Trådstart#1

Ett JavaScript som gör att man kan ha ett bildspel på en och samma sida. Jag har skrivit så att jag har två pilar som styr vilket håll man ska bläddra bland bilderna. Problemet nu är att jag har ett annat JavaScript som bestämmer vart de länkade bilderna ska komma, men detta funka inte med bildspelet. Någon som vet vad som jag ska göra?
adress till sidan: home.swipnet.se/macgunde

code bildspel:
var current = 0;

function initArray() {

this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this = initArray.arguments;
}
}

var picz = new initArray(
"images/0.jpg",
"images/1.jpg",
"images/2.jpg"
);

document.write('<img name="jscriptimg" src="'+picz[0]+'">');

function checkIt(val) {

var goodnum = current+val;

if (goodnum < 0) alert("You can't go any further back!");
else if (goodnum > picz.length-1) alert("You can't go any further forward!");
else document.jscriptimg.src = picz[goodnum];

current = goodnum;
}

code knappar som styr bildspel:
<IMG SRC="images/pilv.jpg" ALT="" "onclick="checkIt(-1)"><IMG SRC="images/pilh.jpg" ALT="" "onclick="checkIt(1)">

code visa bild på specifikt ställe:
function visaBild (bildURL) {
document.LinkBild.src=bildURL;
}

code vart bilderna ska ligga:
<IMG SRC="images/over.jpg" ALT="" NAME="LinkBild" WIDTH=720 HEIGHT=344 BORDER=0>

code för att visa vart de vanliga länkarnars bilder ska komma:
<A HREF="JavaScript:visaBild('images/aboutme.jpg');"

Mvh Daniel**

Medlem sedan dec. 20025 483 inlägg
#2

Vad är detta?

function initArray() {

this.length = initArray.arguments.length;
  for (var i = 0; i < this.length; i++) {
  this[i][/i] = initArray.arguments[i];
  }
}
[/i]
var picz = new initArray(
"images/0.jpg",
"images/1.jpg",
"images/2.jpg"
);

Varför inte ta bort initArray() och skriva:

var picz=new Array(
"images/0.jpg",
"images/1.jpg",
"images/2.jpg"
);

Är det inte meningen att dessa bilder skall visas där over.jpg ligger? Isåfall kan du ju pröva med att ändra följande rad i funktionen checkIt():

document.jscriptimg.src = picz[goodnum];

Till:

document.LinkBild.src = picz[goodnum];

:)

Medlem sedan apr. 2003110 inlägg
#3

tack Peter jag har suttit jättelänge å klurat med detta, men ett problem återstår, Varför kommer det en bild ovanför tabellen?

Medlem sedan dec. 20025 483 inlägg
#4

Det är förmodligen denna rad som är boven i dramat:

 document.write('<img name="jscriptimg" src="'+picz[0]+'">');

:)

Medlem sedan apr. 2003110 inlägg
#5

Denna funktion fungerar bara i camino mozilla och netscape...? varför? :q

Medlem sedan dec. 20025 483 inlägg
#6

Inte i IE? Får du något felmeddelande?

:)

Medlem sedan apr. 2003110 inlägg
#7

inga felmeddelanden, det händer ingening när jag trycker på pilarna, testa själv..

home.swipnet.se/macgunde

Medlem sedan apr. 2003110 inlägg
#8

Detta JavaScript fungerar i alla webläsare däri mot inte när jag la in det på min sida. Någon som vet varför det blir så ? jag har bifogat min fil. även på home.swipnet.se/macgunde

<form>
<center>
<script language="Javascript">
<!--

var current = 0;

function initArray() {

this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this = initArray.arguments;
}
}

var picz = new initArray(
"0.gif",
"1.gif",
"2.gif",
"3.gif",
"4.gif",
"5.gif",
"6.gif",
"7.gif",
"8.gif",
"9.gif"
);

document.write('<img name="jscriptimg" src="'+picz[0]+'">');

function checkIt(val) {

var goodnum = current+val;

if (goodnum < 0) alert("You can't go any further back!");
else if (goodnum > picz.length-1) alert("You can't go any further forward!");
else document.jscriptimg.src = picz[goodnum];

current = goodnum;
}

//-->
</script>
<br><input type="button" value="Back" onclick="checkIt(-1)"> <input type="button" value="Forward" onclick="checkIt(1)">
</center>
</form>**

Medlem sedan dec. 20025 483 inlägg
#9

Hmm, det fungerar lokalt på min dator. Testa med att ändra lite på checkIt()-funktionen:

function checkIt(val) {
var goodnum = parseInt(current)+parseInt(val);

if (goodnum < 0) alert("You can't go any further back!");
else if (goodnum > picz.length-1) alert("You can't go any further forward!");
else document.images["LinkBild"].src = picz[goodnum]; 

current = goodnum;

}

:)

Medlem sedan apr. 2003110 inlägg
#10

Har testat på explorer på fyra datorer två PC och två mac fungerar inte på någon av dessa.. men jag testar lite...

Medlem sedan mars 20015 287 inlägg
#11

Det är i alla fall fel i den sida som du skriver ut länken till. (Btw posta en riktig länk så slipper man klippa o klistra.)

<TD colspan="10"><IMG SRC="images/pilv.jpg" ALT="" "onclick="checkIt(-1)"><IMG SRC="images/pilh.jpg" ALT="" "onclick="checkIt(1)"></TD>

Du ska inte ha ett: " innan onclick

Rätt:

<TD colspan="10"><IMG SRC="images/pilv.jpg" ALT="" onclick="checkIt(-1)"><IMG SRC="images/pilh.jpg" ALT="" onclick="checkIt(1)"></TD>
Medlem sedan dec. 20025 483 inlägg
#12

Du har en "snuff" framför varje onclick-attribut i bildelementen som inte skall vara där. Ta bort dem.

[b]"[/b]onclick="checkIt(-1)"

:)

Medlem sedan apr. 2003110 inlägg
#13

ååå vad blind man får vara ;) man kollar å letar fel, men så är det ett sånt pyttefel...

Tack för all hjälp :)

Medlem sedan apr. 2003110 inlägg
#14

Nu har jag strukturerat upp hemsidan i mappar i olika nivåer. Efter att jag gjort detta så har funktionen bildspel slutat fungera. Här nedan är koden. Hemsidan ligger på adress http://home.swipnet.se/macgunde

kod javaScript:
var current = 0;

var picz=new Array(
"../images/fritid/fritid.jpg",
"../images/fritid/01.jpg",
"../images/fritid/02.jpg",
"../images/fritid/03.jpg",
"../images/fritid/04.jpg",
"../images/fritid/05.jpg",
"../images/fritid/06.jpg",
"../images/fritid/07.jpg",
"../images/fritid/08.jpg",
"../images/fritid/09.jpg",
"../images/fritid/10.jpg",
"../images/fritid/11.jpg",
"../images/fritid/12.jpg",
"../images/fritid/13.jpg",
"../images/fritid/14.jpg",
"../images/fritid/15.jpg"
)

function checkIt(val) {

var goodnum = current+val;

if (goodnum < 0) alert("You can't go any further back!");
else if (goodnum > picz.length-1) alert("You can't go any further forward!");
else document.LinkBild.src = picz[goodnum];

current = goodnum;
}

kod innanför <body>
<IMG SRC="../bilder/pilv.jpg" ALT="" onclick="checkIt(-1)"><IMG SRC="../bilder/pilh.jpg" ALT="" onclick="checkIt(1)">

HTML dokumentet ligger en nivå upp (html/fritid.html) och bilderna som ska vara i bildspelet ligger i två nivåer upp (images/fritid/fritid.jpg)

Tack på förhand
Mvh Daniel

Medlem sedan mars 20015 287 inlägg
#15

Tycker det ser ut som om det står:

<!-- var pic = new image();

Du måste ha en radbrytning där:

<!--
var pic = new image();

Medlem sedan apr. 2003110 inlägg
#16

Har fixat det nu, men det hjälpte inte!!!

Medlem sedan dec. 20025 483 inlägg
#17

Var är funktionen checkIt() då? Dessutom är följande felaktigt, ta bort det.

    var pic = new image();
    pic.src = "bilder/pilvu.jpg";
    pic.src = "bilder/pilhu.jpg";
    pic.src = "bilder/pdfu.jpg";
    pic.src = "images/start.jpg";

Förladda bilderna kan du göra i din preloadImages()-funktion.

:)

Medlem sedan apr. 2003110 inlägg
#18

Var? nu förstår jag inte...

Medlem sedan dec. 20025 483 inlägg
#19

På sidan http://home.swipnet.se/macgunde/ finns inte funktionen checkIt() definierad.

:)

Medlem sedan apr. 2003110 inlägg
#20

home.swipnet.se/macgunde/html/fritid.html där finns scriptet med ...

265 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)