如何为网站创建基于星级的反馈系统?
How can I create a star based feedback system for a website?
我正在创建一个有趣的网站,其中一个页面是反馈页面。在这里我有很多容器,每个容器都装在里面,里面装着不同的东西。我想创建一个基于星星的反馈评级,我有两张图片,一张是空星,另一张是实心星。乍一看,星星是空的,我想让它变成实心的星星,我做到了!现在,当尝试更改多个图像时,我似乎无法找到一种方法来做到这一点。例如,如果有人留下了四星评级,我希望将所有的星都放在左边,包括点击的星,以更改为另一张图片。
这是我的 HTML 图片:
<img src="star.png" width="20px" height="20px" id="1" onclick="change();">
<img src="star.png" width="20px" height="20px" id="2" onclick="change();">
<img src="star.png" width="20px" height="20px" id="3" onclick="change();">
<img src="star.png" width="20px" height="20px" id="4" onclick="change();">
<img src="star.png" width="20px" height="20px" id="5" onclick="change();">
这里是我的 JavaScript 只更改一张图片:
<script type="text/javascript">
function change()
{
var image1 = document.getElementById('1');
image1.src = "filledStar.png";
}
因此,如果我点击第五张图片,我希望所有图片都发生变化,如果我点击最右边的第四张图片,我希望该图片和左侧的所有图片发生变化,等等。
您可以尝试这样的操作:
在您的 HTML 页面中,根据应更改的星星,将包含字符串的数组传递给 Javascript change() 函数。例如:
<img src="star.png" width="20px" height="20px" id="1" onclick="change(['1']);">
<img src="star.png" width="20px" height="20px" id="2" onclick="change(['1', '2']);">
<img src="star.png" width="20px" height="20px" id="3" onclick="change(['1', '2', '3']);">
<img src="star.png" width="20px" height="20px" id="4" onclick="change(['1', '2', '3', '4']);">
<img src="star.png" width="20px" height="20px" id="5" onclick="change(['1', '2', '3', '4', '5']);">
然后,在 Javscript 中,接受数组作为 'change()' 中的参数,并对其进行迭代。对于每个项目(必须更改的每个 'id' 的星星),使用数组中的 'id' 从页面获取元素,并将其 src 属性设置为新图像,就像你一样已经完成了。
祝你好运!
我正在创建一个有趣的网站,其中一个页面是反馈页面。在这里我有很多容器,每个容器都装在里面,里面装着不同的东西。我想创建一个基于星星的反馈评级,我有两张图片,一张是空星,另一张是实心星。乍一看,星星是空的,我想让它变成实心的星星,我做到了!现在,当尝试更改多个图像时,我似乎无法找到一种方法来做到这一点。例如,如果有人留下了四星评级,我希望将所有的星都放在左边,包括点击的星,以更改为另一张图片。
这是我的 HTML 图片:
<img src="star.png" width="20px" height="20px" id="1" onclick="change();">
<img src="star.png" width="20px" height="20px" id="2" onclick="change();">
<img src="star.png" width="20px" height="20px" id="3" onclick="change();">
<img src="star.png" width="20px" height="20px" id="4" onclick="change();">
<img src="star.png" width="20px" height="20px" id="5" onclick="change();">
这里是我的 JavaScript 只更改一张图片:
<script type="text/javascript">
function change()
{
var image1 = document.getElementById('1');
image1.src = "filledStar.png";
}
因此,如果我点击第五张图片,我希望所有图片都发生变化,如果我点击最右边的第四张图片,我希望该图片和左侧的所有图片发生变化,等等。
您可以尝试这样的操作:
在您的 HTML 页面中,根据应更改的星星,将包含字符串的数组传递给 Javascript change() 函数。例如:
<img src="star.png" width="20px" height="20px" id="1" onclick="change(['1']);">
<img src="star.png" width="20px" height="20px" id="2" onclick="change(['1', '2']);">
<img src="star.png" width="20px" height="20px" id="3" onclick="change(['1', '2', '3']);">
<img src="star.png" width="20px" height="20px" id="4" onclick="change(['1', '2', '3', '4']);">
<img src="star.png" width="20px" height="20px" id="5" onclick="change(['1', '2', '3', '4', '5']);">
然后,在 Javscript 中,接受数组作为 'change()' 中的参数,并对其进行迭代。对于每个项目(必须更改的每个 'id' 的星星),使用数组中的 'id' 从页面获取元素,并将其 src 属性设置为新图像,就像你一样已经完成了。
祝你好运!