2011-10-30 6 views
0
I edited this post to present it with better clarity of what I'm actually asking. 

JavaScriptのスライドショーを構成するコンポーネントでは、私の混乱はまだ明らかではありません。 スライドショーには、1)配列、2)プリロード宣言、3)forループであるカウンタ、4)次の画像関数のような基本コンポーネントがあります。もちろんイベントを実行するonclickボタン。 onclickボタンは、次のイメージ関数を呼び出します。私はコードをredidします。しかし、それは非常に動作していませんが、私はエラーも警告もありません。すべて私が見てきたチュートリアルに似ています。私は宿題を提出する前に何か提案します。ありがとうございました。javascriptのスライドショーの主な要素は何ですか?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1 /DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>slideshow</title> 
<script type="text/javascript"> 

//create array of image objects 

var myPic=new Array("photos/picture0.jpg", 
       "photos/picture1.jpg", 
       "photos/picture2.jpg", 
       "photos/picture3.jpg", 
       "photos/picture4.jpg") 
var num=0; //I believe this is my index 
//I don't understand why I'm creating a new array here. 
//I saw it in two different tutorials 
var preLoad=new Array(5) 
//Here I'm initializing the counter and preloading the images. 
for(i=0;i<myPic.length;i++) 
{ 
preLoad[i]=new Image()//Don't understand this part yet or the next line. 
        //I saw it in a tutorial 

preLoad[i].src=myPic[i] 
} 
//this is to load the next image, reset the counter and end the loop. 
function nextImg() 
{ 
if(num<preLoad.length-1){ 
num=num+1; 
document.getElementById("myImg").src=preLoad[num].src 
} 
else{ 
num=0 
document.getElementById("myImg").src=preLoad[num].src 
} 
} 
</script> 
<!--So far no errors, no warnings.--> 
</head> 
<body> 
<img id="myImg" src="photos/picture0.jpg" width="225" height="225" alt="firt picture" border="3"/> 
<input type="button" value="show next picture" onclick="nextImg)" /> 
</body> 
`enter code here`</html> 

答えて

1

これは何ですか?

<form name="show" align: center; /> 

スタイル情報のように見えるが、それはそこに裸で座っていて、それが表示されことではないので、あなたは、とにかくフォーム上のスタイルを必要としないこと。

また、あなたはここで間違いがありますが、最大のものは、配列の仕組みを理解していないということです。あなたのコードはあなたが思っていることをやっていません。あなたは整数ではないmyPicをインクリメントしています、それは配列です。何をインクリメントする必要があることは、私はあなたが私== 0を意味する[0] ...私は疑うあなたが私==によって何を意味するかわからないんだけど...

myPic = new Array('a','b','c'); 
myIndex = 0; 

var currentLetter = myPic[ index ] ;//currentLetter is now 'a' 
index++; 
currentLetter = myPic[ index ]; // currentLetter is now 'b' 

配列のインデックスですか?または、配列をループする方法を再び混乱させることになります。

+0

ありがとうございました。私は多くの例を見て、私は理解したと思った。私は例を続けることができましたが、私の割り当ては具体的であり、私は特定のものを使用しなければなりません。私はインデックスについて、変数としてどのように名前を付けるのか混乱しています。私はそれが[]であることを知っている。私が使った "私"のようなものについてもっと理解できるならば。他の人のコードで使用されているのを見たので、私はそれを使用しました。変数とインデックスを宣言すると思いますか? – swydell

+0

ha ..私は混乱していることを覚えています...どこから来たのですか?結論としては、私は任意の変数です。それは絶対に何でもかまいませんが、それはまったく重要ではありません(jまたはkまたはabracadabra)。あなたは単に価値を追跡するためにそれを使用します。だから、それを0と宣言して、あなたがリストを通って括弧内に挿入すると、それを増やします。これは、配列myArray [7]のフィールドの見方です。myArrayの8番目の要素です。 for(i = 0; i

+0

素晴らしい。物事について何らかの説明をすることは良いことです。私はどこにでも見ていて、それが何を参照しているのか疑問に思いました。私は0から始まるインデックスについて理解しています。私はforループフォーマットを理解していると思います。先週、別の課題で私は100%を得ました。今私はプリロード機能を解決する必要があります。実際には最初の関数ではなく、forループがその内部にあります。 – swydell

関連する問題