我要做的是通过单击按钮更改我放置在HTML中的某些引导选项卡中的图像源。不知道我错在哪里。当我运行代码时,什么都不会发生。也没有控制台错误。该脚本在我的HTML顶部外部引用。为了学习,我宁愿留在Javascript领域。
<div id="vehicleModelFrame">
<button id="modelFrameButton1" type="button" onclick="showTrim1()"></button>
<button id="modelFrameButton2" type="button" onclick="showTrim2()"></button>
<button id="modelFrameButton3" type="button" onclick="showTrim3()"></button>
</div>
<div id="selectTrimTitle">
<h3>
Vehicle Trim
</h3>
</div>
<div id="vehicleTrimFrame">
<div class="trimSelector">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home">Trim 1</a></li>
<li><a data-toggle="tab" href="#menu1">Trim 2</a></li>
<li><a data-toggle="tab" href="#menu2">Trim 3</a></li>
<li><a data-toggle="tab" href="#menu3">Trim 4</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane active">
<img id="carLogo1" src="noimage.png" alt="carLogo">
</div>
<div id="menu1" class="tab-pane">
<img id="carLogo2" src="noimage.png" alt="carLogo">
</div>
<div id="menu2" class="tab-pane">
<img id="carLogo3" src="noimage.png" alt="carLogo">
</div>
<div id="menu3" class="tab-pane">
<img id="carLogo4" src="noimage.png" alt="carLogo">
</div>
</div>
</div>
</div>
function showTrim1() {
var imgback = document.getElementById("modelFrameButton1");
var imgsrc = document.getElementById("carLogo1");
if (imgback.style.backgroundImage == "url('JeepWrangler.png')") {
imgsrc.src = "jeep_wrangler.png";
}
}
答案 0 :(得分:0)
想想要实现目标会发生什么:
img
DOM元素。src
的{{1}}属性。以下是你如何做到这一点:
img
document.addEventListener('DOMContentLoaded', function() {
var newSrc = 'http://lorempixel.com/400/200/sports/1';
var button = document.querySelector('button');
var img = document.querySelector('img');
button.addEventListener('click', function() {
img.src = newSrc;
});
});
至于你的代码出了什么问题,很难说。 <img src='http://lorempixel.com/400/200 '>
<button>Change src</button>
会被调用吗?你的showTrim()
工作了吗?你的document.getElementById
声明会被击中吗?等
注意:
if
被认为是不好的做法。 addEventListener是要走的路。答案 1 :(得分:0)
我弄清楚我的问题是什么。我在if语句中使用的比较运算符不正确。我没有使用=
而是使用==
,这在我的案例中显然是不正确的。新代码工作正常。
document.getElementById("modelFrameButton1").addEventListener("click", function showTrim1(){
var carImg = document.getElementById("carLogo1");
if (document.getElementById("modelFrameButton1").style.backgroundImage = "JeepWrangler.png") {
carImg.src = "Jeep_Wrangler.png";
}else{
alert(document.getElementById("modelFrameButton1").style.backgroundImage);
}
});
我最终也用事件监听器替换了我的“onclicks”。谢谢大家的帮助!