如何使 onclick 函数更改两个图像的 src
How to make an onclick function change the src for two images
我应该将脚本添加到 HTML 文件,这样当我单击星级系统中的第一颗星时,它会将 src 更改为 'star-on.png' 而不是 'star-off.png'。那个,我能做到。但我不知道如何做到这一点,如果用户点击第二颗星,它会将第一颗星和第二颗星的 src 更改为 'star-on.png'。
这是我老师提供的代码:
<!-- 1. PUT YOUR NAME IN THIS COMMENT -->
<html>
<head>
<!-- 2. DO NOT EDIT THE CSS -->
<style type="text/css">
body {
margin: 0;
}
div {
width: 520px;
display: block;
margin-left: auto;
margin-right: auto;
}
img {
width: 100px;
}
</style>
<!-- 2.5 YOU MAY ALTER THE STYLING OF THE BUTTON IF YOU WISH. -->
<style type="text/css">
button {
width: 200px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<!-- 3. DO NOT ALTER THE HTML EXCEPT TO ADD ONCLICK, ONLOAD, AND SIMILAR ATTRIBUTES -->
<!-- AS NEEDED -->
<body>
<div>
<img src="star-off.png" id="one" class="2">
<img src="star-off.png" id="two" class="2">
<img src="star-off.png" id="three">
<img src="star-off.png" id="four">
<img src="star-off.png" id="five">
</div>
<button id="reset" onclick="document.getElementById('one').src='star-off.png'">Reset</button>
<!-- 4. YOU MAY PUT YOUR SCRIPTING HERE -->
<script>
document.getElementById('one').onclick = function () {
document.getElementById('one').src="star-on.png";
}
document.getElementById('two').onclick = function () {
document.getElementById('two').src="star-on.png";
}
document.getElementById('three').onclick = function () {
document.getElementById('three').src="star-on.png";
}
document.getElementById('four').onclick = function () {
document.getElementById('four').src="star-on.png";
}
document.getElementById('five').onclick = function () {
document.getElementById('five').src="star-on.png";
}
</script>
</body>
</html>
除了script标签里面的东西和button里面的onclick,都是我老师的代码
这是它的样子:
好吧,您实际上已经在脚本中完成了大部分想要做的事情。查看每一行:
document.getElementById('one').onclick = function () {
document.getElementById('one').src="star-on.png";
}
document.getElementById('two').onclick = function () {
document.getElementById('two').src="star-on.png";
}
document.getElementById('three').onclick = function () {
document.getElementById('three').src="star-on.png";
}
document.getElementById('four').onclick = function () {
document.getElementById('four').src="star-on.png";
}
document.getElementById('five').onclick = function () {
document.getElementById('five').src="star-on.png";
}
本质上,每个人都通过其 Id 属性表示 select 元素,在前一组中由本部分中的 'id=""' 标识:
<img src="star-off.png" id="one" class="2">
<img src="star-off.png" id="two" class="2">
<img src="star-off.png" id="three">
<img src="star-off.png" id="four">
<img src="star-off.png" id="five">
然后给它附加一个 onclick 事件。当该 onclick 事件触发时,执行您在事件规范后的每个等号右侧定义的功能。
在你的每个函数中,它只是简单地识别 DOM 上与你提供的元素 id 相匹配的元素(就像你在上一节中分配事件处理程序一样) ) 并且您要将其 'src' 属性的值更改为您在等号右侧定义的字符串。
根据您的要求,选择第二个。这是您引用的 HTML(对于第一颗星和第二颗星):
<img src="star-off.png" id="one" class="2">
<img src="star-off.png" id="two" class="2">
这是您已经为第二个准备好的事件处理程序:
document.getElementById('two').onclick = function () {
document.getElementById('two').src="star-on.png";
}
现在,如果您单击第二颗星,您只是将 ID 为 'two' 的元素的 src 属性更改为 'star-on.png' 图像。因此,如果您还想更改它之前的星星元素,它的 ID 为 'one',因此您需要在事件处理程序中添加此行。
document.getElementById('one').src = "star-on.png";
当然,有更有效的方法可以做到这一点,但毫无疑问,您会随着课程的进行而了解它们。这是您的事件处理程序在此更新后的样子:
document.getElementById('two').onclick = function () {
document.getElementById('two').src="star-on.png";
document.getElementById('one').src = "star-on.png";
}
我应该将脚本添加到 HTML 文件,这样当我单击星级系统中的第一颗星时,它会将 src 更改为 'star-on.png' 而不是 'star-off.png'。那个,我能做到。但我不知道如何做到这一点,如果用户点击第二颗星,它会将第一颗星和第二颗星的 src 更改为 'star-on.png'。
这是我老师提供的代码:
<!-- 1. PUT YOUR NAME IN THIS COMMENT -->
<html>
<head>
<!-- 2. DO NOT EDIT THE CSS -->
<style type="text/css">
body {
margin: 0;
}
div {
width: 520px;
display: block;
margin-left: auto;
margin-right: auto;
}
img {
width: 100px;
}
</style>
<!-- 2.5 YOU MAY ALTER THE STYLING OF THE BUTTON IF YOU WISH. -->
<style type="text/css">
button {
width: 200px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<!-- 3. DO NOT ALTER THE HTML EXCEPT TO ADD ONCLICK, ONLOAD, AND SIMILAR ATTRIBUTES -->
<!-- AS NEEDED -->
<body>
<div>
<img src="star-off.png" id="one" class="2">
<img src="star-off.png" id="two" class="2">
<img src="star-off.png" id="three">
<img src="star-off.png" id="four">
<img src="star-off.png" id="five">
</div>
<button id="reset" onclick="document.getElementById('one').src='star-off.png'">Reset</button>
<!-- 4. YOU MAY PUT YOUR SCRIPTING HERE -->
<script>
document.getElementById('one').onclick = function () {
document.getElementById('one').src="star-on.png";
}
document.getElementById('two').onclick = function () {
document.getElementById('two').src="star-on.png";
}
document.getElementById('three').onclick = function () {
document.getElementById('three').src="star-on.png";
}
document.getElementById('four').onclick = function () {
document.getElementById('four').src="star-on.png";
}
document.getElementById('five').onclick = function () {
document.getElementById('five').src="star-on.png";
}
</script>
</body>
</html>
除了script标签里面的东西和button里面的onclick,都是我老师的代码
这是它的样子:
好吧,您实际上已经在脚本中完成了大部分想要做的事情。查看每一行:
document.getElementById('one').onclick = function () {
document.getElementById('one').src="star-on.png";
}
document.getElementById('two').onclick = function () {
document.getElementById('two').src="star-on.png";
}
document.getElementById('three').onclick = function () {
document.getElementById('three').src="star-on.png";
}
document.getElementById('four').onclick = function () {
document.getElementById('four').src="star-on.png";
}
document.getElementById('five').onclick = function () {
document.getElementById('five').src="star-on.png";
}
本质上,每个人都通过其 Id 属性表示 select 元素,在前一组中由本部分中的 'id=""' 标识:
<img src="star-off.png" id="one" class="2">
<img src="star-off.png" id="two" class="2">
<img src="star-off.png" id="three">
<img src="star-off.png" id="four">
<img src="star-off.png" id="five">
然后给它附加一个 onclick 事件。当该 onclick 事件触发时,执行您在事件规范后的每个等号右侧定义的功能。
在你的每个函数中,它只是简单地识别 DOM 上与你提供的元素 id 相匹配的元素(就像你在上一节中分配事件处理程序一样) ) 并且您要将其 'src' 属性的值更改为您在等号右侧定义的字符串。
根据您的要求,选择第二个。这是您引用的 HTML(对于第一颗星和第二颗星):
<img src="star-off.png" id="one" class="2">
<img src="star-off.png" id="two" class="2">
这是您已经为第二个准备好的事件处理程序:
document.getElementById('two').onclick = function () {
document.getElementById('two').src="star-on.png";
}
现在,如果您单击第二颗星,您只是将 ID 为 'two' 的元素的 src 属性更改为 'star-on.png' 图像。因此,如果您还想更改它之前的星星元素,它的 ID 为 'one',因此您需要在事件处理程序中添加此行。
document.getElementById('one').src = "star-on.png";
当然,有更有效的方法可以做到这一点,但毫无疑问,您会随着课程的进行而了解它们。这是您的事件处理程序在此更新后的样子:
document.getElementById('two').onclick = function () {
document.getElementById('two').src="star-on.png";
document.getElementById('one').src = "star-on.png";
}