var colorFive="./image/five30pxlv.png"; var noColorFive="./image/five30pxhuei.png"; for (var i=1;i<=5;i++) { document.getElementById("Fen"+i).src=noColorFive; document.getElementById("fenshu").innerHTML=0; } for (var i=1;i<=feng;i++) { document.getElementById("Fen"+i).src=colorFive; document.getElementById("fenshu").innerHTML=feng; } lyfs=feng; }
五个星可以理解为5个div每个div点击 分数不一样(同时前台星星的亮度也不一样)。
至于像限制多次评分,可以用IP地址+投票时间 或者cookies+投票时间来限制。jquery+ashx的案例 百度一下 很多。
那你就在那段js中添加一个赋值的方法,将值保存在一个隐藏控件中
思路就这样
<div class="Cpingfen" style="clear:both;margin-left:20px;">
<img src="./image/five30pxhuei.png" onclick="pingfeng(1)" id="Fen1"></img>
<img src="./image/five30pxhuei.png" onclick="pingfeng(2)" id="Fen2"></img>
<img src="./image/five30pxhuei.png" onclick="pingfeng(3)" id="Fen3"></img>
<img src="./image/five30pxhuei.png" onclick="pingfeng(4)" id="Fen4"></img>
<img src="./image/five30pxhuei.png" onclick="pingfeng(5)" id="Fen5"></img>
<span id="fenshu" class="fs">0</span>
</div> /*按五角星评分*/
function pingfeng(feng)
{
var colorFive="./image/five30pxlv.png";
var noColorFive="./image/five30pxhuei.png";
for (var i=1;i<=5;i++)
{
document.getElementById("Fen"+i).src=noColorFive;
document.getElementById("fenshu").innerHTML=0;
}
for (var i=1;i<=feng;i++)
{
document.getElementById("Fen"+i).src=colorFive;
document.getElementById("fenshu").innerHTML=feng;
}
lyfs=feng;
}
<span>1</span>
<span>1</span>
<span>1</span>
<span>1</span>
<span>1</span>
<input type=text />
</div>
<div>
<span>1</span>
<span>1</span>
<span>1</span>
<span>1</span>
<span>1</span><input type=text />
</div>
$(function () {
$("span").click(function () {
var i = 1;
$(this).prevUntil("div", "span").each(function () { i++; });
$(this).parent().find("input").attr("value",i);
});
});
...点击计算之前的星星数,传给INPUT,INPUT传给服务端存住,搞定收工