2 つのパズル。
サムネイルの画像インデックスがあり、サムネイルが表す画像に関連付けられたスライド番号で、特定の各サムネイルから大きな画像のスライドショーにリンクしたいと思います。
スライド ショーはうまく機能し、各スライドのキャプションが表示されますが、スライド ショーの外部からシーケンス内の特定のスライドにリンクする方法がわかりません。
そして 2 番目のパズル: 現在書かれているように、スライドショーは 1 から何でも直線的にしか実行できず、どの画像が表示されても、スライドショーはキャプション 1 から始まるかのようにキャプションを関連付けます。そのため、さまざまな html ドキュメントを作成して、それぞれが必要な画像でスライド ショーを開始することもできません。そのため、退屈ではありますが、任意のサムネイルからスライド ショーにリンクして、その画像でスライド ショーを開始することができます。しかし、キャプションとスライドは一致しているので、どちらも機能しません。slide0 以外の画像を配置すると、表示されるキャプションは常に、slide0 に関連付けられたキャプションになります。そして、シーケンスの最初の画像以外の画像で id=slideshow を開始し、順方向に移動すると、開始した画像の番号に関係なく、画像 2 が表示されます。
スライドショーのスクリプトは次のとおりです。
window.onload = initAll;
var currImg = 0;
var captionText = new Array(
"Wrangler, Darhat Valley, Mongolia",
"Graveyard, Camden, Maine",
"Pants, Inis Mór",
"Campfire Lake, Crazy Mountains, Montana",
"Campsite, Darhat Valley",
"Crazy Mountains, Montana",
"Cuddy, Bedlam",
"The River Styx",
"Fountain, Cambridge",
"Freezeout Lake, Spring Equinox 1",
"Freezeout Lake, Spring Equinox 2",
"Freezeout Lake, Spring Equinox 3",
"G. I. Joe, Darhat Valley",
"Girls in Red, Renchilumbe, Mongolia",
"After spring rains, Montana",
"Lake Helena, Montana",
"Kapiti Coast, New Zealand",
"Lucky Star Bar, Inis Mór",
"On Ponsonby, Auckland",
"Holding Reservoir, Montana",
"Ferry, Darhat Valley",
"Baja",
"Saridag Inn, Renchilumbe",
"Skyscapes",
"Stanley Lane, Vermont",
"Bear Gulch, Montana",
"On the train between Brussels and Paris",
"Great blue heron",
"Tree, Tulla",
"Waves, Dun Aengus",
"Two ladies",
"Walls, Inis Mór",
"Wave, Dun Aengus",
"Storm light, Northampton"
)
function initAll() {
document.getElementById("imgText").innerHTML = captionText[0];
document.getElementById("prevLink").onclick = processPrevious;
document.getElementById("nextLink").onclick = processNext;
}
function processPrevious() {
newSlide(-1);
}
function processNext() {
newSlide(1);
}
function newSlide(direction) {
var imgCt = captionText.length;
currImg = currImg + direction;
if (currImg < 0) {
currImg = imgCt-1;
}
if (currImg == imgCt) {
currImg = 0;
}
document.getElementById("slideshow").src = "slides/slides" + currImg + ".png";
document.getElementById("imgText").innerHTML = captionText[currImg];
}
私はプログラマーではありません。それはおそらく明らかです。提供されたスクリプトを適応させます。
ご協力ありがとうございます。