Добавить в существующий старый скрипт слайд-шоу, чтобы добавить подпись к изображениям

Мне интересно, есть ли небольшое изменение или дополнение, которое я мог бы сделать к существующему сценарию, чтобы добавить подписи к изображениям в моем слайд-шоу, или я действительно должен просто отказаться от этого старого сценария и начать все сначала. Я очень новичок в javascript, поэтому, пожалуйста, держитесь со мной. Таким образом, есть две страницы - вводная страница и страница слайд-шоу. На начальной странице есть маленькие миниатюрные изображения, которые при нажатии переводят посетителя на страницу слайд-шоу, чтобы увидеть большую версию миниатюры, и оттуда посетитель может щелкнуть по всем большим изображениям, представляющим уменьшенные изображения, или вернуться на начальную страницу.

Вот вступительная страница (соответствующая часть):

<table>
   <tr>
    <td><a href="arbor-viewer-test-files.html?img=0">
     <img src="images/thumbnails/arbor_0.jpg" width="100" />
     </a></td>
    <td><a href="arbor-viewer-test-files.html?img=1">
     <img src="images/thumbnails/arbor_1.jpg" width="100" />
     </a></td>
    <td><a href="arbor-viewer-test-files.html?img=2">
     <img src="images/thumbnails/arbor_2.jpg" width="100" />
     </a></td>
    <td><a href="arbor-viewer-test-files.html?img=3">
     <img src="images/thumbnails/arbor_3.jpg" width="100" />
     </a></td>
    <td><a href="arbor-viewer-test-files.html?img=4">
     <img src="images/thumbnails/arbor_4.jpg" alt="DFW Patio Cover Arbors" border="0" width="100" />
     </a></td>
   </tr>
  </table>

А вот страница слайд-шоу (соответствующая часть):

<table border="0">
          <tr>
            <td align="center">
              <p class="center largeP bold"> <a href="javascript:chgImg(-1)">Previous</a> | <a href="javascript:auto()">Auto/Stop</a> | <a href="javascript:chgImg(1)">Next</a> <br />
                <a href="/arbors.htm">Return to the Arbor Gallery</a> </p>
              <br />
            </td>
          </tr>
          <tr>
            <td align="center"> <br />
              <img src="images/arbor_0.jpg" name="slideshow" />
              <br />
            </td>
          </tr>
        </table>
<script type="text/javascript">
showImg(queryString.img);
</script>
</body>

А вот и сценарий:

var newimg = new Array();
newimg[0] = "images/arbor_0.jpg";
newimg[1] = "images/arbor_1.jpg";
newimg[2] = "images/arbor_2.jpg";
newimg[3] = "images/arbor_3.jpg";
newimg[4] = "images/arbor_4.jpg";

function obj_queryString(){
qs = document.URL.substring(document.URL.indexOf('?')+1,document.URL.length);
queries = qs.split(/\&/);
for(i=0;i<queries.length;i++){ 
    query = queries[i].split(/\=/);
    this[query[0]] = unescape(query[1]);}
 }

queryString = new obj_queryString();
var imgnum = 0;
var imglength = newimg.length - 1;
//delay betwn slides in millisecs
var delay = 3000;
var lock = false;
var run;

function showImg(imgnum){
document.slideshow.src = newimg[imgnum];
}

function chgImg(direction) {
if (document.images){
    imgnum = imgnum + direction;
    if (imgnum > imglength) 
        imgnum = 0;
    if (imgnum < 0) 
        imgnum = imglength;
    document.slideshow.src = newimg[imgnum];}
}

function auto(){
if (lock == true) {
    lock = false;
    window.clearInterval(run);}
else if (lock == false) {
    lock = true;
    run = setInterval("chgImg(1)", delay);}
 }

Лучшее, что я мог придумать, это добавить это в скрипт:

//under the newimg Array:
var caption = new Array();  
caption[0] = "Caption for the first image"; 
caption[1] = "Caption for the second image"; 
caption[2] = "Caption for the third image"; 
caption[3] = "Caption for the fourth image"; 
caption[4] = "Caption for the fifth image";

И добавление фрагмента вместе с функцией внизу страницы слайд-шоу (все остальное так же, как указано выше):

<p id="captionDiv><br /></p>
<script type="text/javascript">
showImg(queryString.img);
document.getElementById("captionDiv").innerHTML=caption[imgnum];
</script>

… Который просто показывает заголовок [0] и не меняется вместе с изображениями. Я уверен, что решение не составляет труда для тех, кто знает больше JavaScript, чем я. Я исследовал и изучал онлайн более недели и до сих пор не понимаю, что делать. Мне нужен интерпретатор JavaScript! В любом случае, большое спасибо, если вы прочитали это далеко и за любую помощь, которую вы можете предложить. -Amanda

1 ответ

Решение

Вы можете положить document.getElementById("captionDiv").innerHTML=caption[imgnum]; внутри function showImg(imgnum) так что вы можете получить соответствующую подпись к изображению.

Другие вопросы по тегам