[英]If Statement to Change Image source using Javascript
我想做的是通過單擊按鈕來更改一些放置在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";
}
}
考慮一下要實現您的目標將要發生的事情:
img
DOM元素。 img
的src
屬性。 這是您的操作方式:
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
語句會受到打擊嗎? 等等。
筆記:
onclick
被認為是不好的做法。 addEventListener是必經之路。 我弄清楚我的問題是什么。 我在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”。 謝謝大家的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.