添加到现有的旧幻灯片脚本中,以包含图像的标题

Add to existing older slideshow script to include a caption for images

本文关键字:包含 标题 图像 幻灯片 添加 脚本      更新时间:2023-09-26

我想知道是否有一个小的变化或添加我可以对现有的脚本,在我的幻灯片中添加图像的标题,或者如果我真的应该放弃这个旧的脚本,并开始新的。所以有两个页面——一个介绍页面和一个幻灯片页面。介绍页有小缩略图,当点击时,访问者可以到幻灯片页面看到缩略图的大版本,从那里访问者可以点击所有的大缩略图代表图像或回到介绍页。

这是介绍页(相关部分):

<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解释器!

您可以将document.getElementById("captionDiv").innerHTML=caption[imgnum];放入function showImg(imgnum)中,以便您可以获得相关的图像标题