我从互联网上获得了这个javascript代码。这是一个脚本,可以从选项下拉框中选择更改图片及其标题。该脚本工作正常。我唯一的问题是选项框中的值只能是数字。无论如何都要定制这个,而options参数中的值可以是单词而不是数字?这是代码:
<!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>
非常感谢任何帮助
答案 0 :(得分:1)
value属性可以是文本,也不必是数字。在上面的代码中唯一会破坏的是:
description.innerHTML=caption[this.value];
您可以将其替换为:
description.innerHTML = caption[this.selectedIndex]
答案 1 :(得分: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];
希望这有帮助。