我刚刚开始参加Freecodecamp课程,但我只能填写调查表。 我想让“选择”按钮在用户选择主题时显示图像。
我认为我对CSS HTML的新手知识无法做到这一点。我希望如果Java语言或Jquery上的知识渊博的人可以使用这些语言来完成这项工作,那么我会对此提供帮助。
我已将此信息发布在我的密码笔上:https://codepen.io/remevan/pen/poogBeK
<div id="themeField">
<div id=leftField>
<div id="containerA">
<p> Let us know what is your preferred
<select id="dropdown">
</p>
<option disabled value selected>THEME</option>
<option value="MarvelUniverse">Marvel Universe</option>
<option value="masqueradeBall">Masquerade Ball</option>
<option value="PinoyAko">Pinoy Ako</option>
<option value="70sShow">That 70's Show</option>
<option value="CandyFactory">Candy Factory</option>
</select>
答案 0 :(得分:0)
<body>
<div id="themeField">
<div id=leftField>
<div id="containerA">
<p> Let us know what is your preferred
<select id="dropdown" onchange="myFunction(this.value)">
</p>
<option disabled value selected>THEME</option>
<option value="MarvelUniverse">Marvel Universe</option>
<option value="masqueradeBall">Masquerade Ball</option>
<option value="PinoyAko">Pinoy Ako</option>
<option value="70sShow">That 70's Show</option>
<option value="CandyFactory">Candy Factory</option>
</select>
<div id = "sampleImg"></div>
</div>
</div>
</div>
</body>
<script>
function myFunction(itm){
if (itm == "MarvelUniverse"){
document.body.style.backgroundImage = "url('pathto-MarvelUniverse.jpg')";
} else if (itm == "masqueradeBall"){
document.body.style.backgroundImage = "url('pathto-masqueradeBall.jpg')";
} else if (itm == "PinoyAko"){
document.body.style.backgroundImage = "url('pathto-PinoyAko.jpg')";
} else if (itm == "70sShow"){
document.body.style.backgroundImage = "url('pathto-70sShow.jpg')";
} else if (itm == "CandyFactory"){
document.body.style.backgroundImage = "url('pathto-CandyFactory.jpg')";
} else {
document.body.style.backgroundColor = "#000000";
}
};
</script>
尝试
<body>
<div id="themeField">
<div id=leftField>
<div id="containerA">
<p> Let us know what is your preferred
<select id="dropdown" onchange="myFunction(this.value)">
</p>
<option disabled value selected>THEME</option>
<option value="MarvelUniverse">Marvel Universe</option>
<option value="masqueradeBall">Masquerade Ball</option>
<option value="PinoyAko">Pinoy Ako</option>
<option value="70sShow">That 70's Show</option>
<option value="CandyFactory">Candy Factory</option>
</select>
<div id = "sampleImg"></div>
</div>
</div>
</div>
</body>
<script>
function myFunction(itm){
if (itm == "MarvelUniverse"){
document.body.style.backgroundImage = "url('pathto-MarvelUniverse.jpg')";
} else if (itm == "masqueradeBall"){
document.body.style.backgroundImage = "url('pathto-masqueradeBall.jpg')";
} else if (itm == "PinoyAko"){
document.body.style.backgroundImage = "url('pathto-PinoyAko.jpg')";
} else if (itm == "70sShow"){
document.body.style.backgroundImage = "url('pathto-70sShow.jpg')";
} else if (itm == "CandyFactory"){
document.body.style.backgroundImage = "url('pathto-CandyFactory.jpg')";
} else {
document.body.style.backgroundColor = "#eeeeee";
}
};
</script>
答案 1 :(得分:0)
因此,我为您的图像添加了一个占位符。 此后,我编写了一个函数,该函数在更改下拉菜单时显示图像。如果您想要每个主题一个特定的图像,则需要扩展此功能。我现在只在masqueradeBall上显示图像。
function showImage(image) {
var a = document.getElementById('img');
if(image == "") {
a.src ="";
} else if (image == "masqueradeBall") {
a.src = "https://www.w3schools.com/tags/smiley.gif";
}
}
<div id="themeField">
<div id=leftField>
<div id="containerA">
<p> Let us know what is your preferred
<select id="dropdown" onchange="showImage(this.value)">
</p>
<option disabled value selected>THEME</option>
<option value="MarvelUniverse">Marvel Universe</option>
<option value="masqueradeBall">Masquerade Ball</option>
<option value="PinoyAko">Pinoy Ako</option>
<option value="70sShow">That 70's Show</option>
<option value="CandyFactory">Candy Factory</option>
</select>
<br/>
<img id="img"></p>
答案 2 :(得分:0)
<script>
var myMap= new Map();
myMap.set("MarvelUniverse","https://www.w3schools.com/tags/smiley.gif")
myMap.set("masqueradeBall","https://www.w3schools.com/tags/dog.gif")
myMap.set("PinoyAko","https://www.w3schools.com/tags/smiley.gif")
myMap.set("70sShow","https://www.w3schools.com/tags/car.gif")
myMap.set("CandyFactory","https://www.w3schools.com/tags/cat.gif")
function showImage(value) {
var a = document.getElementById('dropdown').value;
alert(a)
img.src=myMap.get(a);
document.getElementById("img").innerHTML=img.src
}
</script>
<select id="dropdown" onchange="showImage(this.value)">
<option disabled value selected>THEME</option>
<option value="MarvelUniverse">Marvel Universe</option>
<option value="masqueradeBall">Masquerade Ball</option>
<option value="PinoyAko">Pinoy Ako</option>
<option value="70sShow">That 70's Show</option>
<option value="CandyFactory">Candy Factory</option>
</select>
<div> <br/> <img id="img"><div>
您可以在地图中设置图片的网址,然后借助键u可以动态设置它。尽管我尚未设置网址。您可以通过保存并提供相对路径来做到这一点。
答案 3 :(得分:0)
尝试一下
$('#dropdown').on('change', function(){
$('.mySlides').hide();
switch (this.value) {
case 'MarvelUniverse':
$('.marvel').show();
break;
case 'masqueradeBall':
$('.masquerade').show();
break;
case 'PinoyAko':
$('.pinoy').show();
break;
case '70sShow':
$('.show').show();
break;
case 'CandyFactory':
$('.candy').show();
break;
default:
// do nothing
}
})
.mySlides { display: none;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p> Let us know what is your preferred <select id="dropdown"></p>
<option disabled value selected>THEME</option>
<option value="MarvelUniverse">Marvel Universe</option>
<option value="masqueradeBall">Masquerade Ball</option> <option value="PinoyAko">Pinoy Ako</option>
<option value="70sShow">That 70's Show</option> <option value="CandyFactory" >Candy Factory</option>
</select>
<div class="mySlides marvel" > <!-- added class as per option name -->
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQd4l9mhjsOAPkR2nw2j8TsqGEi7z9i5W_wcucdb5JCKN04rc6Y&s" style="width:440px; height:190px;" alt="pic1">
</div>
<div class="mySlides masquerade"> <!-- added class as per option name -->
<img src=https://images-na.ssl-images-amazon.com/images/I/91z31zyWYXL._UX679_.jpg style="width:440px; height:190px;" alt="pic2">
</div>
<div class="mySlides pinoy"> <!-- added class as per option name -->
<img src="https://i2.wp.com/mommylevy.com/wp-content/uploads/2015/10/DIY-Costume-3.jpg" style="width:440px; height:190px;" alt="pic3">
</div>
<div class="mySlides show"> <!-- added class as per option name -->
<img src="https://metvcdn.metv.com/K6sac-1452723250-106-lists-1970s_fashion_2.jpg" style="width:440px; height:190px;" alt="pic4">
</div>
<div class="mySlides candy"> <!-- added class as per option name -->
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQDVwiXhLnWWu4gHMChUwa4QuYZ-IdTBuJv49eHFw47OofUJm5M&s" style="width:440px; height:190px;" alt="pic5">
</div>