如何更改 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>
如果您正在使用 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>
我可能会尝试做的是将 id 分配给容器 div 并设置 CSS 以便 div 的背景是您的图像想要,同样你可以用js改变CSS background prop。
<section>
<div class="container" id="pic">
<!-- no img tag needed now -->
</div>
</section>
从这里您可以使用 js 抓取 div 并让您的点击功能执行更改图像的相同任务,但它将通过更改背景图像 属性 来完成此操作CSS.
中的 div
function myFunc () {
document.getElementById('pic').style.backgroundImage =
'url(path/to/image.jpg)';
}
让您入门的一个简单选择是将您的 JavaScript 更改为:
function change(index) {
var imageLookup = ["./images/lion.jpg", "./images/tiger.jpg", "./images/bear.jpg"];
document.getElementById("pic").src = imageLookup[index];
}
如果将图像列表放在数组中,则可以将每个按钮的索引传递给更改函数。
如图,修改按钮函数为狮子change(0),老虎change(1),熊change(2)。狮子、老虎和熊,我的天啊...如果您的图像路径正确,您应该会看到一些切换。
如果您还在苦苦挣扎,请告诉我。
我正在尝试了解如何在单击不同按钮以显示动物图片时更改图像源。我的 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>
如果您正在使用 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>
我可能会尝试做的是将 id 分配给容器 div 并设置 CSS 以便 div 的背景是您的图像想要,同样你可以用js改变CSS background prop。
<section>
<div class="container" id="pic">
<!-- no img tag needed now -->
</div>
</section>
从这里您可以使用 js 抓取 div 并让您的点击功能执行更改图像的相同任务,但它将通过更改背景图像 属性 来完成此操作CSS.
中的 divfunction myFunc () {
document.getElementById('pic').style.backgroundImage =
'url(path/to/image.jpg)';
}
让您入门的一个简单选择是将您的 JavaScript 更改为:
function change(index) {
var imageLookup = ["./images/lion.jpg", "./images/tiger.jpg", "./images/bear.jpg"];
document.getElementById("pic").src = imageLookup[index];
}
如果将图像列表放在数组中,则可以将每个按钮的索引传递给更改函数。
如图,修改按钮函数为狮子change(0),老虎change(1),熊change(2)。狮子、老虎和熊,我的天啊...如果您的图像路径正确,您应该会看到一些切换。
如果您还在苦苦挣扎,请告诉我。