我用javascript构建星级评分系统。我试图访问php页面中的类名。理想情况下,它应该让鼠标在鼠标悬停时改变颜色,但是当我这样做时什么也没发生。
jQuery的:
$(document).ready(function() {
// put all your jQuery goodness in here.
$(function(){
$('.star').mouseover(function (){
var star = $(this).index() 1;
$(this).parent().css("background-position","0 -" (32 * star) "px");
});
$('.star-rating').mouseout(function (){
var originalresult = $(this).attr('id').split('result')[1];
$(this).css("background-position","0 -" (32 * originalresult) "px");
});
});
});
HTML:
<div class="star-rating" id="rating1result0">
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
</div>
<div class="result">
<span style="color:green">0</span> (0)
</div>
答案 0 :(得分:0)
试试这个,你有一些语法错误。没有背景就很难测试。根据需要查看代码进行修改。
答案 1 :(得分:0)
使用jquery更新css时,请使用backgroundPosition
而不是background-position
。它适用于每个css命令。
答案 2 :(得分:0)
$('.star').mouseover(function (){
var star = $(this).index() 1;
$(this).parent().css("backgroundPosition","0 -" + (32 * star) + "px");
});
$('.star-rating').mouseout(function (){
var originalresult = $(this).attr('id').split('result')[1];
$(this).css("backgroundPosition","0 -" + (32 * originalresult) + "px");
});
在形成字符串时需要添加'+',background-position应该是backgroundPosition。
答案 3 :(得分:0)
http://jsfiddle.net/eviljackson/rwK3w/ - 工作示例的新小提琴
希望这可以帮到你,因为你的帖子帮助我弄清楚我的问题有一个很好的问题... css在下面所以它包含在这个帖子中
css
.star-rating {
width:80px;
height:16px;
float:left;
background:url(http://i39.tinypic.com/2cntjsl.png);
cursor:pointer;
}
.star {
width:16px;
height:16px;
float:left;
}
.result {
float:left;
height:16px;
color:#454545;
margin-left:5px;
line-height:110%;
}