プログラミングはしていませんが、私は JavaScript にかなり慣れていません。私の演習は、画像を表示し、ユーザーがボタンをクリックして次/前の画像に移動できるページを作成することです。ボタンのクリック時にサーバーから次/前の画像をロードしたいので、ページはすべての画像を一度にブラウザにロードする必要はありません。
このバージョンには、次の画像に移動するためのボタンがあるだけで、jQuery または AJAX で読み込もうとしています。ページは最初の「image0」をロードし、JavaScript デバッガーは onClick イベントが実行され、期待どおりに動作することを示しますが、画像は変更されません。
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>
var imageIndex = 0;
var jpgImageName = "image0"
var loadString = "images/" + jpgImageName + ".JPG";
function changeImage()
{
imageIndex++;
if (imageIndex > 2) { imageIndex = 0; }
var locationString = "images/image" + imageIndex + ".JPG";
var loadString = $("<img />").attr('src', locationString);
$("imageSlot").append(loadString);
}
</script>
</head>
<body>
<div id="imageSlot">
<img id="currentImage" src="images/image0.JPG" height="400" alt="image"+imageIndex/>
</div>
<button id="changeImage" onclick="changeImage()">Change Image</button>
</body>
</html>
append
別のスタック オーバーフローの例から関数を取得しました。現在の画像を置き換えたいhtml()
のですが、その代わりに使用する提案を見てきappend()
ましたが、例を変更する前にこれを機能させようと考えました。
.load()
また、次の画像の URL だけを使用して、画像自体に関数を試しました。上記の例で両方を示そうとすると、質問を読んでいる人を混乱させる可能性が高いように見えましたが、それもうまくいきませんでした。しかし、その方法、または両方の方法でそれを解決する方法を私に示したいのであれば、それは素晴らしいことです.