http://www.zhangxinxu.com/study/201308/hello-star.html
半星可以将图片换成灰色星星和半星然后多加5个A标签和label
html部分:<table class="block">
<tr>
<td>
<span class="label">总体评价<em>*</em>:</span>
</td>
<td>
<div class="rating-wrap">
<ul class="rating-wrap-ul" onmouseout="onUlMouseOut()" onmouseover="onUlMouseOver()">
<li><a class="one-star" title="很差" data-hint="很差" href="javascript:clickStar(1)" onmouseover="onLiMouseOver(1)" onmouseout="onLiMouseOut()"></a></li>
<li><a class="two-stars" title="差" data-hint="差" href="javascript:clickStar(2)" onmouseover="onLiMouseOver(2)" onmouseout="onLiMouseOut()"></a></li>
<li><a class="three-stars" title="还行" data-hint="还行" href="javascript:clickStar(3)" onmouseover="onLiMouseOver(3)" onmouseout="onLiMouseOut()"></a></li>
<li><a class="four-stars" title="好" data-hint="好" href="javascript:clickStar(4)" onmouseover="onLiMouseOver(4)" onmouseout="onLiMouseOut()"></a></li>
<li><a class="five-stars" title="很好" data-hint="很好" href="javascript:clickStar(5)" onmouseover="onLiMouseOver(5)" onmouseout="onLiMouseOut()"></a></li>
</ul>
</div>
<span id="ratingText" class="active-hint" innerText=""></span>
</td>
</tr>
<tr>
<td>
<span class="label">评价<em>*</em>:</span>
</td>
<td>
<span class="note">(50-2000个字)</span>
<span id="textCount" class="note" innerText=""></span>
</td>
</tr>
<tr>
<td>
</td>
<td>
<textarea name="appraiseText" id="appraiseText" class="form-content-block form-textarea" rows="12"></textarea>
</td>
</tr>
<tr>
<td>
</td>
<td align="right">
<input type="button" value="提交" onclick="submitAppraise()">
<input type="button" value="关闭" onclick=" ">
</td>
</tr>
</table>
CSS:
body {
color: #333
font: normal normal normal 12px/1.5 Arial, 宋体, sans-serif
}
.block{
clear: both
margin-bottom:20px
margin-bottom: 10px
zoom: 1
padding:5px 11pxborder:1px solid #F5EEE8
padding-top:10pxmargin:0 10px 0
padding-bottom:20pxborder-bottom:1px dashed #E4E4E4
margin:10px autopadding:0border:none
}
.label{
float:right
margin-right: 10px
text-align: right
font-weight: normal
font-style:normal
width: 94px
}
em{
margin-right:5px
color:#c00
font-weight:bold
font-style:normal
margin-left:2px
}
.note {
color: #999
}
.form-textarea{
float: left
font-family: Tahoma, Geneva, sans-serif
margin-right: 5px
width: 598px
zoom: 1
font-family: inherit
font-size: 100%
-webkit-appearance: textarea
-webkit-box-orient: vertical
-webkit-rtl-ordering: logical
-webkit-user-select: text
background-color: white
border: 1px solid
cursor: auto
padding: 2px
resize: auto
white-space: pre-wrap
word-wrap: break-word
}
.rating-wrap {
display: inline-block
float: left
position: relative
top: -2px
width: 89px
height: 20px
margin-right: 5px
padding: 4px 0 0 5px
border: 1px solid #EFE0D7
background: #FFF9F1
z-index: 0
}
.rating-wrap ul,.rating-wrap a:hover {
background-image: url(../images/star_shade.png)
background-repeat: no-repeat
}
.rating-wrap ul {
-webkit-padding-start: 40px
display: block
list-style-type: disc
margin: 1em 0px
border: 0px
margin: 0px
outline: 0px
padding: 0px
list-style: none
position: relative
width: 85px
height: 16px
background-position: 0 -90px
z-index: 10
}
.rating-wrap li {
display: inline
}
.rating-wrap a {
zoom: 1
position: absolute
left: 0
top: 0
display: block
height: 16px
}
.rating-wrap .five-stars {
width: 84px
z-index: 10
background-position: 0 0px
}
.rating-wrap .four-stars {
width: 68px
z-index: 20
background-position: 0 -18px
}
.rating-wrap .three-stars {
width: 51px
z-index: 30
background-position: 0 -36px
}
.rating-wrap .two-stars {
width: 34px
z-index: 40
background-position: 0 -54px
}
.rating-wrap .one-star {
width: 17px
z-index: 50
background-position: 0 -72px
}
.active-hint{
color: #C00
float: left
padding-top:2px
font-weight: normal
font-style:normal
}
JS:
$(document).ready(function(){
$("#appraiseText").bind("keydown", function(){
var count = $("#appraiseText").val().length
if( count <= 200 ){
$("#textCount").html(" 还能输入<font color='green'><b>" + (200 - count) + "</b></font>个字")
}else{
$("#textCount").html(" 已超出<font color='red'><b>" + (count - 200) + "</b></font>个字")
}
})
})
var starValue=0
function onUlMouseOut(){
var y = -90 + starValue * 18
var position = "0 " + y + "px"
$(".rating-wrap-ul").css({
"background-position" : position
})
}
function onUlMouseOver(){
$(".rating-wrap-ul").css({
"background-position" : "0 -90px"
})
}
function onLiMouseOver(grade){
switch(grade){
case 1 : document.getElementById("ratingText").innerHTML="很差"break
case 2 : document.getElementById("ratingText").innerHTML="差"break
case 3 : document.getElementById("ratingText").innerHTML="还行"break
case 4 : document.getElementById("ratingText").innerHTML="好"break
case 5 : document.getElementById("ratingText").innerHTML="很好"break
default : document.getElementById("ratingText").innerHTML=""
}
}
function onLiMouseOut(){
onLiMouseOver(starValue)
}
function clickStar(grade){
starValue = grade
var y = -90 + grade * 18
var position = "0 " + y + "px"
$(".rating-wrap-ul").css({
"background-position" : position
})
}
希望能帮到你
用js 获取到后台给的html 然后再通过 动态构建 dom结构的方式来使用这些html比如后台返回的html是:"hah...."var str="hah...."
那就 找到你想要放的地址id,比如是test那就是 $("#test").append(str) 然后就可以了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)