五角星动态评分效果

head中的内容:

<head>

<style type="text/css">
ul {
list-style-type: none;
}


#star {
position: relative;
width: 600px;
margin: 10px auto;
}


#star ul,#star span {
float: left;
display: inline;
height: 20px;
line-height: 19px;
}


#star ul {
margin: 0 10px;
}


#pf li{
float: left;
height:20px;
width: 20px;
text-indent: -9999px;
background-image:url("../img/star.png") ;
background-position:1px 20px; 

}


#star li {
float: left;
width: 30px;
cursor: pointer;
text-indent: -9999px;
background: url(../img/star.png) no-repeat;
}


#star strong {
color: #f60;
padding-left: 10px;
}


#star li.on {
background-position: 0 -28px;
}




#star p {
position: absolute;
top: 20px;
width: 159px;
height: 60px;
display: none;
background: url(../img/icon.gif) no-repeat;
padding: 7px 10px 0;
}


#star p em {
color: #f60;
display: block;
font-style: normal;
}
</style>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">
<script charset="utf-8" src="../kindeditor-min.js"></script>
<script charset="utf-8" src="../lang/zh_CN.js"></script>
<script type="text/javascript" src="../js/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="../js/bootstrap.js"></script>
<link rel="stylesheet" type="text/css"href="../css/bootstrap-responsive.min.css">
<link rel="shortcut icon" href="../favicon.ico">




<script type="text/javascript">
var editor;
KindEditor.ready(function(K) {
editor = K.create('textarea[name="content"]', {
allowFileManager : true
});
});








    //星级评分
    window.onload = function ()
{
var oStar = document.getElementById("star");
var aLi = oStar.getElementsByTagName("li");
var oUl = oStar.getElementsByTagName("ul")[0];
var oSpan = oStar.getElementsByTagName("span")[1];
var oP = oStar.getElementsByTagName("p")[0];
var i = iScore = iStar = 0;
var aMsg = [
"很不满意|老师根本不能帮我解决问题",
"不满意|老师只解决了部分问题",
"一般|老师基本帮我解决了所有问题,不过没太懂",
"满意|老师帮我解决了所有问题,非常详细",
"非常满意|老师很及时的帮我解决了所有问题,非常满意"
];

for (i = 1; i <= aLi.length; i++)
{
aLi[i - 1].index = i;
//鼠标移过显示分数
aLi[i - 1].onmouseover = function ()
{
fnPoint(this.index);
//浮动层显示
oP.style.display = "block";
//计算浮动层位置
oP.style.left = oUl.offsetLeft + this.index * this.offsetWidth - 104 + "px";
//匹配浮动层文字内容
oP.innerHTML = "<em><b>" + this.index + "</b> 分 " + aMsg[this.index - 1].match(/(.+)\|/)[1] + "</em>" + aMsg[this.index - 1].match(/\|(.+)/)[1]
};
//鼠标离开后恢复上次评分
aLi[i - 1].onmouseout = function ()
{
fnPoint();
//关闭浮动层
oP.style.display = "none"
};
//点击后进行评分处理
aLi[i - 1].onclick = function ()
{
iStar = this.index;
alert(iStar);
document.getElementById("score").value=iStar;
oP.style.display = "none";
oSpan.innerHTML = "<strong>" + (this.index) + " 分</strong> (" + aMsg[this.index - 1].match(/\|(.+)/)[1] + ")"
}
}
//评分处理
function fnPoint(iArg)
{
//分数赋值
iScore = iArg || iStar;
for (i = 0; i < aLi.length; i++) aLi[i].className = i < iScore ? "on" : "";
}
};
    
    
    function subm(){
    var f = window.confirm("是否确认提交");
    if(f){
    var envalute = document.getElementById("evaluate");
    $("#textareaValue").val(editor.html())
    if(envalute.style.display!='none'){
    alert('提交评价内容')
    var form = document.getElementById("for")
    form.action="http://www.baidu.com";
    form.submit();
   
    }
   
    var accusation = document.getElementById("accusation");
    if(accusation.style.display!='none'){
    alert('提交举报内容')
    var form = document.getElementById("for")
    form.action="http://www.123.com";
    form.submit();
    }
   
    var update = document.getElementById("update");
    if(update.style.display!='none'){
    alert('提交修改内容')
    var form = document.getElementById("for")
    form.action="http://www.google.com";
    //form.submit();
   
    }
    }else{
    return false;
    }
    }

    </script>

</head>

body中的星星内容:

<tr>
<td style="width: 230px;" >
<div style="font-size: 18px; margin-left: 100px;">分数</div>
</td>
<td>
<!-- 星星展示位 -->
<div id="pf" style="font-size: 15px; margin-left: 0px">
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div><br/>
<strong style="color: red; margin-left: 27px">
3分
</strong> 
老师没有很快的解答我的问题!
</div>
<!-- 评分星星位 -->
<div id="star" >
   <ul style="margin-left: 25px">
   
      <li><a href="javascript:;">1</a></li>
       <li><a href="javascript:;">2</a></li>
       <li><a href="javascript:;">3</a></li>
       <li><a href="javascript:;">4</a></li>
       <li><a href="javascript:;">5</a></li>
    </ul>
    <span></span>
   <p></p>
</div>
</td>
</tr>


body中  form 表单中的  内容:

<form class="form-horizontal form-actions" action="#" method="post"
id="for" οnsubmit="return subm()">
<input name="评分分值保存" value="" id="score" type="hidden"/>

<div id="e_text" style="margin-left: 10%; display:none;">
<textarea id="textarea"  name="content" style="width:700px; height:150px; visibility:hidden;" id="textarea"></textarea>
<input type="hidden" id="textareaValue" name="textareaValue"/>

</div>
<!-- 页面上三个按钮可以没有效果,但是三个按钮必须显示-->
<!--  如果想让按钮失去效果 请在标签内加入 name="validate"   -->
<input type="button" class="btn" value="评价" id="evaluate"style="margin-left: 10%;width: 10%;display: inline;" /> <input
type="button" class="btn" value="举报" name="validate" οnclick="alert('已经举报不能再举报了')" id="accusation"style="margin-left: 5%;width: 10%; display: inline;" /> <input
type="button" class="btn" value="修改" id="update"
style="margin-left: 5%;width:10%" />
<!-- 点击提交修改提交表单路径  -->
<input type="button" value="提交" class="btn" id="submit"
style="display: none; margin-left: 36%" οnclick="subm()" /> <input
type="reset" value="重置" class="btn" id="reset"
style="display: none; margin-left: 5%" />
</form>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在HTML中,创建一个五角星评分系统通常会使用HTML元素和CSS样式相结合。下面是一个简单的例子,展示如何使用HTML结构以及一些基本的CSS来实现五角星评分: ```html <!DOCTYPE html> <html lang="en"> <head> <style> .star-container { display: inline-block; position: relative; } .star-fill { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #ccc; /* 默认灰色 */ } .filled-star::before { content: "\2605"; font-size: 24px; color: gold; } .filled-star { cursor: pointer; } .filled-star:hover ~ .star-fill { width: 90%; } .filled-star:active ~ .star-fill { width: 80%; } </style> </head> <body> <div class="star-container"> <i class="filled-star" title="1 star"></i> <span class="star-fill"></span> <i class="filled-star" title="2 stars"></i> <span class="star-fill"></span> <i class="filled-star" title="3 stars"></i> <span class="star-fill"></span> <i class="filled-star" title="4 stars"></i> <span class="star-fill"></span> <i class="filled-star" title="5 stars"></i> <span class="star-fill"></span> </div> </body> </html> ``` 这个例子中: - `.star-container` 是一个包含所有星星的容器,使用`display: inline-block`使其成为行内块级元素。 - `.star-fill` 是一个隐藏的span元素,用于实现鼠标悬停和点击效果。 - `.filled-star` 是每个填充的星星,`::before`伪元素用于显示星号图标。 - 使用CSS的`:hover`和`:active`伪类,当鼠标悬停或点击时,对应填充的宽度逐渐增加,模拟评分效果

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值