【发布时间】:2022-01-02 12:59:09
【问题描述】:
我的目标是创建一个下拉菜单,当单击下拉菜单的每个项目时,它会通过替换之前的图像在其上方显示不同的图像。我一直使用这些页面作为指导:
下拉菜单有九个选项,html 如下所示:
<div class="dropdown">
<img id="a_features" src="a_features" style="display:none;"/>
<button onclick="myFunction()" class="dropbtn">Change in Audio Features Over Time</button>
<div id="myDropdown" class="dropdown-content">
<a onclick="danceability()">Danceability</a>
<a onclick="duration()">Duration</a>
<a onclick="energy()">Energy</a>
<a onclick="instrumentalness()">Instrumentalness</a>
<a onclick="liveness()">Liveness</a>
<a onclick="loudness()">Loudness</a>
<a onclick="speechiness()">Speechiness</a>
<a onclick="tempo()">Tempo</a>
<a onclick="valence()">Valence</a>
</div>
我正在使用的函数的一个示例,除了图像源之外,它们都是相同的,是这样的:
function danceability(){
var pic = "https://imgur.com/Ga5bnai"
document.getElementById('a_features').src = pic.replace('90x90', '225x225');
document.getElementById('a_features').style.display='block';
}
当我使用堆栈溢出示例(“http://img.tesco.com/Groceries/pi/118/5000175411118/IDShot_90x90.jpg”)中使用的图像时,此设置有效,但当我尝试链接时失败它到 imgur 上托管的图像。这是图像源的问题吗?如果是,我该如何解决?
【问题讨论】:
-
您的
pic文本中没有字符串90x90,所以什么也没有发生。 -
字符串应该放在哪里?
-
如果您仔细查看 SO 图像 URL,它是
var pic = "http://img.tesco.com/Groceries/pi/118/5000175411118/IDShot_90x90.jpg",(注意末尾的90x90)并且有一个(隐藏的)图像var pic = "http://img.tesco.com/Groceries/pi/118/5000175411118/IDShot_225x225.jpg用于新尺寸。您需要提供两个图像。 -
谢谢,隐藏的怎么提供?
标签: javascript html image dropdown