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

标签 javascript html arrays slideshow caption

我想知道是否可以对现有脚本进行一些小的更改或添加,为幻灯片中的图像添加标题,或者我是否真的应该放弃这个旧脚本并重新开始。因此有两个页面 - 介绍页面和幻灯片页面。介绍页面有小缩略图图像,单击这些图像会将访问者带到幻灯片页面以查看缩略图的大版本,并且访问者可以从那里单击所有大缩略图代表图像或返回到介绍页面。

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

<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) 中,以便获取相关图像标题.

关于javascript - 添加到现有的旧幻灯片脚本以包含图像标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22292930/

相关文章:

javascript - firebug 打开后断点重复触发

javascript - 同一页面上的多个 Google CSE(自定义搜索引擎)框

javascript - TypeScript:在运行时区分未设置和不存在的属性

javascript - 使用数组中的键获取值 - Angularjs

javascript - 正则表达式匹配括号之间的内容

c - 下标值既不是数组也不是指针函数错误

javascript - Angular DI 和继承 : injecting extensions of a base service

javascript - window.onresize 在 iPad 上连续调用

html - 如何定位特定的 html 元素以在 CSS 中进行编辑

javascript - 使用元素自己的(不是父元素的)宽度进行计算或在 css 中使用百分比,无需 javascript