js를 활용한 별 5개 평가 기능 구현 예
본 글에서는 참고가치가 매우 좋은 별점 5점 평가 기능과 인상 평가 기능을 구현한 js의 예시를 주로 소개합니다. 다음을 에디터로 살펴보겠습니다.
렌더링:
코드는 다음과 같습니다.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>五星评价</title> <style> @font-face { font-family: 'iconfont'; /* project id 247957 */ src: url('//at.alicdn.com/t/font_wkv6intmx8cnxw29.eot'); src: url('//at.alicdn.com/t/font_wkv6intmx8cnxw29.eot?#iefix') format('embedded-opentype'), url('//at.alicdn.com/t/font_wkv6intmx8cnxw29.woff') format('woff'), url('//at.alicdn.com/t/font_wkv6intmx8cnxw29.ttf') format('truetype'), url('//at.alicdn.com/t/font_wkv6intmx8cnxw29.svg#iconfont') format('svg'); } .iconfont { font-family:"iconfont" !important; font-size:16px; font-style:normal; -webkit-font-smoothing: antialiased; -webkit-text-stroke-width: 0.2px; -moz-osx-font-smoothing: grayscale; } body{ font-family: "microsoft yahei"; } ul,li{ list-style: none; padding:0; margin:0; } a{ text-decoration: none; } .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .order-evaluation { width: 827px; border: 2px solid #E84E40; background: #fff; z-index: 200; margin:50px auto; } .order-evaluation{ padding:22px; } .order-evaluation h4{ font-size:18px; color:#333333; padding-bottom:20px; border-bottom:1px dashed #dbdbdb; } .order-evaluation p{ font-size:14px; color:#999; line-height:45px; margin-bottom:0; } .order-evaluation .order-evaluation-text{ font-size:16px; color:#333; line-height:40px; width:809px; padding-left:15px; background:#f3f3f3; margin-bottom:25px; margin-top:20px; } .order-evaluation-checkbox ul li{ width:142px; height:43px; border:1px solid #e8e8e8; text-align: center; background: #fff; font-size:14px; color:#333333; line-height:43px; margin-right:25px; margin-bottom:25px; float:left; cursor: pointer; overflow: hidden; position:relative; } .order-evaluation-checkbox ul li.checked i{ display: block; } .order-evaluation-checkbox ul li.checked{ border:1px solid #e84c3d; } .order-evaluation .order-evaluation-textarea{ position:relative; width: 784px; height: 210px; } .order-evaluation .order-evaluation-textarea textarea{ width:793px; height:178px; border:1px solid #e8e8e8; position:absolute; top:0; left:0; line-height:22px; padding:15px; color:#666; } .order-evaluation .order-evaluation-textarea span{ position:absolute; bottom:10px; font-size:12px; color:#999; right:10px; } .order-evaluation .order-evaluation-textarea span em{ color:#e84c3d; } .order-evaluation>a{ width:154px; height:48px; border-radius: 6px; display: block; text-align: center; line-height:48px; background:#f36a5a; float:right; margin-top:20px; color:#fff; font-size:14px; } .order-evaluation-checkbox ul li i { display: none; color: #e84c3d; position: absolute; right: -4px; bottom: -14px; font-size: 20px; } .order-evaluation>a:hover{ background: #e84c3d; } .block li label,.con span{ font-size: 18px; margin-right: 20px; line-height: 23px;} .block li span{display: inline-block; vertical-align: middle; cursor: pointer;} .block li span img{margin-right: -5px; } .level{color:#e84c3d;font-size:16px;margin-left:15px;position: relative;top: 3px;} .dmlei_tishi_info{ height:70px;border-radius: 10px;background: rgba(0,0,0,0.5);font-size:18px;color:#fff;text-align: center;line-height: 70px;position:fixed; left: 48%; display: none; margin-left: -128px; top: 40%; margin-top: -35px; padding: 0 15px; z-index: 1000; } </style> </head> <body> <p class="order-evaluation clearfix"> <h4 id="给-新闻订单-的评价">给“新闻订单”的评价</h4> <p>请严肃认真对待此次评价哦!您的评价对我们真的真的非常重要!</p> <p class="block"> <ul> <li data-default-index="0"> <span> <img src="/static/imghw/default1.png" data-src="http://7xnlea.com2.z0.glb.qiniucdn.com/x1.png" class="lazy" alt="js를 활용한 별 5개 평가 기능 구현 예" > <img src="/static/imghw/default1.png" data-src="http://7xnlea.com2.z0.glb.qiniucdn.com/x1.png" class="lazy" alt="js를 활용한 별 5개 평가 기능 구현 예" > <img src="/static/imghw/default1.png" data-src="http://7xnlea.com2.z0.glb.qiniucdn.com/x1.png" class="lazy" alt="js를 활용한 별 5개 평가 기능 구현 예" > <img src="/static/imghw/default1.png" data-src="http://7xnlea.com2.z0.glb.qiniucdn.com/x1.png" class="lazy" alt="js를 활용한 별 5개 평가 기능 구현 예" > <img src="/static/imghw/default1.png" data-src="http://7xnlea.com2.z0.glb.qiniucdn.com/x1.png" class="lazy" alt="js를 활용한 별 5개 평가 기능 구현 예" > </span> <em class="level"></em> </li> </ul> </p> <p class="order-evaluation-text"> 本次交易,乖,摸摸头 给您留下了什么印象呢? </p> <p class="order-evaluation-checkbox"> <ul class="clearfix"> <li class="order-evaluation-check" data-impression="1">专业水平高<i class="iconfont icon-checked"></i></li> <li class="order-evaluation-check" data-impression="2">交付准时<i class="iconfont icon-checked"></i></li> <li class="order-evaluation-check" data-impression="3">效果明显<i class="iconfont icon-checked"></i></li> <li class="order-evaluation-check" data-impression="4">数据分析准确<i class="iconfont icon-checked"></i></li> <li class="order-evaluation-check" data-impression="5">能力待提高<i class="iconfont icon-checked"></i></li> <li class="order-evaluation-check" data-impression="6">工期延误<i class="iconfont icon-checked"></i></li> </ul> </p> <p class="order-evaluation-textarea"> <textarea name="content" id="TextArea1" onkeyup="words_deal();" ></textarea> <span>还可以输入<em id="textCount">140</em>个字</span> </p> <a href="javascript:;" rel="external nofollow" id="order_evaluation">评价完成</a> </p> <p id="order_evaluate_modal" class="dmlei_tishi_info"></p> </body> <script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script> <script> /* * 根据index获取 str * **/ function byIndexLeve(index){ var str =""; switch (index) { case 0: str="差评"; break; case 1: str="较差"; break; case 2: str="中等"; break; case 3: str="一般"; break; case 4: str="好评"; break; } return str; } // 星星数量 var stars = [ ['x2.png', 'x1.png', 'x1.png', 'x1.png', 'x1.png'], ['x2.png', 'x2.png', 'x1.png', 'x1.png', 'x1.png'], ['x2.png', 'x2.png', 'x2.png', 'x1.png', 'x1.png'], ['x2.png', 'x2.png', 'x2.png', 'x2.png', 'x1.png'], ['x2.png', 'x2.png', 'x2.png', 'x2.png', 'x2.png'], ]; $(".block li").find("img").hover(function(e) { var obj = $(this); var index = obj.index(); if(index < (parseInt($(".block li").attr("data-default-index")) -1)){ return ; } var li = obj.closest("li"); var star_area_index = li.index(); for (var i = 0; i < 5; i++) { li.find("img").eq(i).attr("src", "http://7xnlea.com2.z0.glb.qiniucdn.com/" + stars[index][i]);//切换每个星星 } $(".level").html(byIndexLeve(index)); }, function() { }) $(".block li").hover(function(e) { }, function() { var index = $(this).attr("data-default-index");//点击后的索引 index = parseInt(index); console.log("index",index); $(".level").html(byIndexLeve(index-1)); console.log(byIndexLeve(index-1)); $(".order-evaluation ul li:eq(0)").find("img").attr("src","http://7xnlea.com2.z0.glb.qiniucdn.com/x1.png"); for (var i=0;i<index;i++){ $(".order-evaluation ul li:eq(0)").find("img").eq(i).attr("src","http://7xnlea.com2.z0.glb.qiniucdn.com/x2.png"); } }) $(".block li").find("img").click(function() { var obj = $(this); var li = obj.closest("li"); var star_area_index = li.index(); var index1 = obj.index(); li.attr("data-default-index", (parseInt(index1)+1)); var index = $(".block li").attr("data-default-index");//点击后的索引 index = parseInt(index); console.log("index",index); $(".level").html(byIndexLeve(index-1)); console.log(byIndexLeve(index-1)); $(".order-evaluation ul li:eq(0)").find("img").attr("src","http://7xnlea.com2.z0.glb.qiniucdn.com/x1.png"); for (var i=0;i<index;i++){ $(".order-evaluation ul li:eq(0)").find("img").eq(i).attr("src","http://7xnlea.com2.z0.glb.qiniucdn.com/x2.png"); } }); //印象 $(".order-evaluation-check").click(function(){ if($(this).hasClass('checked')){ //当前为选中状态,需要取消 $(this).removeClass('checked'); }else{ //当前未选中,需要增加选中 $(this).addClass('checked'); } }); //评价字数限制 function words_deal() { var curLength=$("#TextArea1").val().length; if(curLength>140) { var num=$("#TextArea1").val().substr(0,140); $("#TextArea1").val(num); alert("超过字数限制,多出的字将被截断!" ); } else { $("#textCount").text(140-$("#TextArea1").val().length); } } $("#order_evaluation").click(function(){ $("#order_evaluate_modal").html("感谢您的评价!么么哒(*  ̄3)(ε ̄ *)").show().delay(3000).hide(500); }) </script> </html>
위 내용은 js를 활용한 별 5개 평가 기능 구현 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

사용법: JavaScript에서 insertBefore() 메서드는 DOM 트리에 새 노드를 삽입하는 데 사용됩니다. 이 방법에는 삽입할 새 노드와 참조 노드(즉, 새 노드가 삽입될 노드)라는 두 가지 매개 변수가 필요합니다.

JavaScript는 웹 개발에 널리 사용되는 프로그래밍 언어인 반면 WebSocket은 실시간 통신에 사용되는 네트워크 프로토콜입니다. 두 가지의 강력한 기능을 결합하면 효율적인 실시간 영상 처리 시스템을 만들 수 있습니다. 이 기사에서는 JavaScript와 WebSocket을 사용하여 이 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 첫째, 실시간 영상처리 시스템의 요구사항과 목표를 명확히 할 필요가 있다. 실시간 이미지 데이터를 수집할 수 있는 카메라 장치가 있다고 가정해 보겠습니다.
