![](/img/trans.png)
[英]I was wondering how I can change the source of an image using JavaScript
[英]How can I change the image source on click with JavaScript?
我試圖弄清楚如何在單擊不同按鈕以顯示動物圖片時更改圖像源。 我的JS代碼位於HTML文檔開頭的腳本標簽之間。 我將其粘貼在下面。 我正在使用Safari。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome</title>
<link rel="stylesheet" href="styles.css">
<script>
function change (){
document.getElementById("pic").src="./images/lion.jpg";
}
</script>
</head>
<body>
<header>
<div class="container">
<h1>Choose an Animal</h1>
<hr>
</div>
</header>
<section>
<div class="container">
<img src="./images/image.jpg" id="pic">
</div>
</section>
<section id="animals">
<div class="container">
<button type="button" class="button1" onclick="change">Lion</button>
<button type="button" class="button1">Tiger</button>
<button type="button" class="button1">Bear</button>
</div>
</section>
</body>
</html>
我可能會嘗試將ID分配給容器div並設置CSS,以便div的背景就是您想要的圖像,類似地,您可以使用js更改CSS背景。
<section> <div class="container" id="pic"> <!-- no img tag needed now --> </div> </section>
在這里,您可以使用js抓取div,並讓click函數執行更改圖像的相同任務,但是它將通過在CSS中更改div的background-image屬性來執行此操作。
function myFunc () { document.getElementById('pic').style.backgroundImage = 'url(path/to/image.jpg)'; }
如果使用的是JQuery,則可以以更有效的方式編寫代碼。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header>
<div class="container">
<h1>Choose an Animal</h1>
<hr>
</div>
</header>
<section>
<div class="container">
<img src="images/lion.jpg" id="pic">
</div>
</section>
<section id="animals">
<div class="container">
<button type="button" class="button1" data-img="lion.jpg">Lion</button>
<button type="button" class="button1" data-img="tiger.jpg">Tiger</button>
<button type="button" class="button1" data-img="bear.jpg">Bear</button>
</div>
</section>
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
<script type="text/javascript">
$(function(){
$('.button1').on('click',function(){
var image = $(this).data('img');
$('.container #pic').attr('src','images/'+ image);
});
})
</script>
一個入門的簡單選擇是將JavaScript更改為以下內容:
function change(index) { var imageLookup = ["./images/lion.jpg", "./images/tiger.jpg", "./images/bear.jpg"]; document.getElementById("pic").src = imageLookup[index]; }
如果將圖像列表放置在數組中,則可以將每個按鈕的索引傳遞給change函數。
如圖所示,修改按鈕功能,將獅子更改為(0),將老虎更改為(1),將熊更改為(2)。 獅子,老虎和熊,噢,我的...如果您的圖像路徑正確,則應該看到一些切換。
如果您仍在掙扎,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.