webForumDet fria alternativet

Får ej JavaScripten att fungera tillsammans...

30 svar · 647 visningar · startad av macgunde

macgundeMedlem sedan apr. 2003110 inlägg
#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**

Peter SMedlem 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];

:)

macgundeMedlem 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?

Peter SMedlem 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]+'">');

:)

macgundeMedlem sedan apr. 2003110 inlägg
#5

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

Peter SMedlem sedan dec. 20025 483 inlägg
#6

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

:)

macgundeMedlem 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

macgundeMedlem 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>**

Peter SMedlem 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;

}

:)

macgundeMedlem 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...

solbulleMedlem 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>
Peter SMedlem 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)"

:)

macgundeMedlem 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 :)

macgundeMedlem 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

solbulleMedlem 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();

macgundeMedlem sedan apr. 2003110 inlägg
#16

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

Peter SMedlem 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.

:)

macgundeMedlem sedan apr. 2003110 inlägg
#18

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

Peter SMedlem sedan dec. 20025 483 inlägg
#19

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

:)

macgundeMedlem sedan apr. 2003110 inlägg
#20

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

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)