0

我从互联网上得到了这个 javascript 代码。这是一个脚本,可以更改图片,并从选项下拉框中选择标题。该脚本工作正常。我唯一的问题是选项框中的值只能是数字。无论如何可以定制这个,而选项参数中的值可以是单词而不是数字?这是代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
img{
height:200px;
width:250px;
display:block;
margin-top:10px;
}
#caption{
font-family:Verdana,tahoma,arial;
font-size:10pt;
text-align:center;
display:block;
width:250px;
}
</style>
<script type="text/javascript">
/************************************************************
* Script by : Raymond Angana
* Title: Dropdown Based Picture w/ Captions
* First seen in AFHB2000.com
* rangana in AHFB2000.com
* Created June 5, 2008
* This notice must stay intact
/**********************************************************/
window.onload=function()
{
    var caption=['Default Image Caption',
                'Caption1',
                'Caption2',
                'Caption3',
                'Caption4',
                'Caption5',
                'Caption6',
                'Caption7',
                'Caption8',
                'Caption9'], // This will be your images caption
    bp='http://h1.ripway.com/rangana/images/', //base url of your images
    imgnum=14, //Number of your images. This should match on your comboboxes options.
    thumb=document.getElementById('thumb'), //id of your image that will be changing
    description=document.getElementById('caption'), //id of your caption
    combobox=document.getElementById('selection'); // id of your combobox.

    combobox.onchange=function()
    {
    thumb.src=bp+'Picture'+this.value+'.jpg';
    description.innerHTML=caption[this.value];
    }
}
</script>
</head>
<body>
<label>Please Change the default picture: </label>
<select id="selection">
<option>Change Picture</option>
<option value="1">Image 1</option>
<option value="2">Image 2</option>
<option value="3">Image 3</option>
<option value="4">Image 4</option>
<option value="5">Image 5</option>
<option value="6">Image 6</option>
<option value="7">Image 7</option>
<option value="8">Image 8</option>
<option value="9">Image 9</option>
</select>
<br>
<img src="http://h1.ripway.com/rangana/images/Picture1.png" alt="mypic" id="thumb">
<span id="caption">Caption for the default Image</span>
</body>
</html>

任何帮助将不胜感激

4

2 回答 2

1

value 属性可以是文本,不一定是数字。上面代码中唯一会中断的是:

description.innerHTML=caption[this.value];

您可以将其替换为:

description.innerHTML = caption[this.selectedIndex]
于 2009-05-17T02:49:29.373 回答
0

我不知道您为什么要在选项值中包含单词的原因,如果您在那里有单词,那么很难获得标题。

如果目标是获取特定于所选选项的图像,并且如果您想使用自己的图像名称而不是“图片”+id,我将进行如下修改。

onLoad如下更改标题数组中(添加更多选项和相应图像):

var appimages=[['Caption1','image1.gif'],['Caption2','image2.gif']];

并在onChange功能更改如下:

thumb.src=bp+appimages[this.value][1];
description.innerHTML=appimages[this.value][0];

希望这可以帮助。

于 2009-05-17T02:46:39.410 回答