当前位置: 首页 > news >正文

网站建设与管理专业就业前景网站logo怎么做透明

网站建设与管理专业就业前景,网站logo怎么做透明,北京网站建设最便宜的公司哪家好,宁德市城乡建设网站使用HTML、CSS和JavaScript实现星星评分系统 本文将详细讲解如何使用 HTML、CSS 和 JavaScript 实现一个简单的星星评分系统。用户可以通过点击星星进行评分,并且还能够看到星星的悬浮效果和已选中状态。 1. HTML 结构 我们首先在 HTML 中定义了一个星星评分的结…

使用HTML、CSS和JavaScript实现星星评分系统

本文将详细讲解如何使用 HTML、CSS 和 JavaScript 实现一个简单的星星评分系统。用户可以通过点击星星进行评分,并且还能够看到星星的悬浮效果和已选中状态。

1. HTML 结构

我们首先在 HTML 中定义了一个星星评分的结构,使用 <ul> 列表来包含五个星星,每颗星星通过 <li> 元素表示。每个星星都通过 data-value 属性来指定它代表的评分值(1 到 5)。

2. CSS 样式

在 CSS 中,我们对星星的样式进行了设置:

  • star-rating:这个类设置了评分容器的字体大小和显示方式,字体大小设置为 30px,以确保星星显示的足够大。
  • stars:这个类去除了默认的列表样式,使星星排列成一行。
  • star:每颗星星的基本样式。我们将星星的颜色设置为灰色,并为其添加了过渡效果,让颜色变化更加平滑。cursor: pointer 使得星星可点击。
  • star.hover 和 star.selected:这些类用于处理鼠标悬浮和点击选中的效果。当鼠标悬停或点击时,星星的颜色会变为金色。

3. JavaScript 交互逻辑

JavaScript 的核心作用是处理用户与星星评分系统的交互,包括鼠标悬浮、点击评分和更新显示状态。

  • stars.forEach():我们遍历所有的星星,并为每颗星星绑定三个事件监听器:

    1. mouseover:当鼠标悬停在星星上时,调用 updateStars 函数来更新星星的显示状态,使其呈现悬浮效果。
    2. mouseout:当鼠标移出星星时,恢复为当前评分的显示状态。
    3. click:当用户点击某颗星星时,更新当前评分,并更新星星显示状态。
  • updateStars(rating):这个函数用于根据当前评分(或悬浮的评分)更新星星的显示状态。它遍历所有星星并根据评分值添加或移除 CSS 类,从而控制星星的颜色变化。

  • submitRating():这个函数是用于将评分提交到服务器的示例代码(在实际应用中,可以根据需要修改 URL 和处理方法)。它通过 fetch 方法将评分信息发送到服务器端。

4. 页面加载时的初始化

当页面加载时,我们假设评分是默认值 0,并通过 window.onload 初始化星星的显示状态。可以根据实际情况,从本地存储或服务器加载已保存的评分,并显示对应的星星。

总结

通过以上的代码和讲解,我们可以创建一个简单且互动的星星评分系统。用户可以通过鼠标悬停和点击进行评分,同时星星的显示效果也会即时更新。这个评分系统不仅是前端开发的一个良好示例,还可以在实际的应用中扩展,用于文件上传、商品评价等场景。

代码示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>星星评分</title><!-- 引入CSS样式 --><style>.star-rating {font-size: 30px;display: inline-block;}.stars {list-style: none;padding: 0;margin: 0;display: flex;}.star {color: #ccc;/* 默认是空心星星的颜色 */cursor: pointer;transition: color 0.2s ease;/* 加入过渡效果,使得星星的颜色变化更加平滑 */}.star.hover,.star.selected {color: gold;/* 选中的星星为金色 */}</style></head><body><!-- 星星评分容器 --><div class="star-rating"><ul class="stars"><li data-value="1" class="star">★</li><li data-value="2" class="star">★</li><li data-value="3" class="star">★</li><li data-value="4" class="star">★</li><li data-value="5" class="star">★</li></ul></div><!-- 引入JavaScript脚本 --><script>// 获取所有星星元素let stars = document.querySelectorAll('.star');let currentRating = 0; // 当前评分,初始为0// 添加鼠标悬浮效果stars.forEach(star => {// 鼠标悬浮时更新星星状态star.addEventListener('mouseover', () => {let value = parseInt(star.getAttribute('data-value')); // 获取当前星星的值updateStars(value); // 更新所有星星的显示});// 鼠标移开时恢复当前的评分状态star.addEventListener('mouseout', () => {updateStars(currentRating);});// 点击星星时更新当前评分star.addEventListener('click', () => {currentRating = parseInt(star.getAttribute('data-value')); // 更新评分值updateStars(currentRating); // 更新星星显示状态});});// 更新星星状态的函数function updateStars(rating) {stars.forEach(star => {let value = parseInt(star.getAttribute('data-value'));if (value <= rating) {// 如果星星的值小于等于评分值,设置为已选中状态star.classList.add('selected');star.classList.remove('hover');} else {// 否则,移除已选中状态star.classList.remove('selected');// 如果星星值小于等于当前悬浮位置的值,添加悬浮效果if (value <= rating) {star.classList.add('hover');} else {star.classList.remove('hover');}}});}// 提交评分到后端(示例代码)function submitRating() {fetch('/submit-rating', {method: 'POST',headers: {'Content-Type': 'application/json',},body: JSON.stringify({rating: currentRating // 提交当前评分}),}).then(response => response.json()).then(data => console.log('评分已提交:', data)).catch(error => console.error('提交失败:', error));}// 页面加载时,初始化评分window.onload = function() {let savedRating = 0; // 假设页面加载时默认评分为0currentRating = savedRating;updateStars(savedRating); // 初始化星星状态};</script></body>
</html>

http://www.yayakq.cn/news/316024/

相关文章:

  • 常规做网站要在工信部认证吗企业网站租服务器
  • 慈利网站开发做网站的编程语言组合
  • 网站推广需要多少钱网盘网页版登录入口
  • 商丘市有没有做网站菏泽兼职网站建设
  • 室内设计网站大全免费大型网页游戏排行榜
  • 怎样做网站挣钱phpcms 做购物网站
  • 网站建设试题以及答案网站建设ftp上传是空目录
  • 有人模仿qq音乐做的h5网站吗上海市建设市场管理信息平台网站
  • 怎么做视频直播网站四川省建设勘察设计网站
  • 做自己的优惠券网站钦州市网站建设
  • 阿里建站价格标准版网站制作
  • 济南网站建设要多少钱顺电网上商城app
  • 沈阳紧急通知网站优化排名工具
  • 网站备案需要把网站做好吗php投资网站源码
  • 客户评价网站建设微信网站界面
  • 购物商城网站网站备份查询
  • 加盟网站推广站长之家域名信息查询
  • 电商专业网站建设的毕业设计wordpress cxudy
  • 怎样解析网站域名解析什么网站对护肤品测评做的很好
  • 怎么做国外游戏下载网站wordpress 网址
  • 做暧视频网站大全怎样进行网络营销吸引顾客
  • 海淀做网站wordpress 注册插件
  • 网站自己怎么做的南京响应式网站建设
  • 网站设置文件夹权限wordpress移动友好度大揭秘
  • 做商铺的网站有那些html手机网页制作
  • 潍坊网站建设套餐辽宁建设工程信息网】
  • 河源网站建设1993seo焦作集团网站建设
  • 南昌做网站哪个好科技企业网站
  • 自己的网站在哪做的忘了网站建设到维护
  • 南京市招办南京网站设计有需要做网站推广找我