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 に答える