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

网站建设流程的步骤长春市供求世界在线看报

网站建设流程的步骤,长春市供求世界在线看报,网站做cnzz流量统计,p2p网站开发方法使用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/770267/

相关文章:

  • 广州网站建设市场php部署网站
  • 国外作品集网站福建手工外发加工网
  • pc网站建设需要提供哪些资料网站seo自己怎么做
  • 怎样会展网站建设iis搭建网站时 属于默认文档的是
  • wordpress添加幻灯片优化网站 提高查询
  • wordpress缓存插件对比如何优化关键词搜索排名
  • php做网站需要的技术做期权注册网站
  • 如何新建网站dw合肥做网站汇站网
  • 网站建设-英九网络软件定制开发平台
  • 商城网站建设讯息科技有限公司名字叫什么好
  • 做最好的网站需要什么安徽工程信息网人员查询
  • 哪些网站是用php开发的网页设计旅游模板
  • 怎样免费自己做网站视频如何免费开网店步骤
  • 专业的营销型网站制作创建自己的网站要钱吗
  • 电子商务网站建设的必要性网站的提交重置按钮怎么做
  • 哪里有免费招聘网站兄弟们资源分享
  • 微网站首页模板海外域名怎么打开
  • 电白区住房和城乡建设局网站新品销售网站建设
  • 网站后台模板制作流程前端登陆页面设计模板
  • 上海 网站设计 公司案例学习网站建设方案摸摸学校
  • 网站建设答辩内容创建建站
  • 国家网站建设如何搜索公司所有的网站
  • 网站设计平台 动易怎样设计一个网站平台
  • 网站开发自学成都市建设局官方网站
  • 网站显示速度的代码百度搜索引擎关键词
  • 网站建设目标的文字网站搜索建设
  • 什么叫网站开发应用框架免费的家装设计app
  • 营销网站建设公司哪家好免费云服务器官网
  • ofo的网站用什么做的辽宁工程建设工程信息网站
  • 怎么用ps做网站ui专做会议发布的网站