【发布时间】:2013-02-04 01:11:13
【问题描述】:
在我的网站上,我有一个页面,其中包含多个结果,人们可以在那里进行评分。
页面上有一个评级列表,一切正常,但有多个我通过选择要悬停的正确列表(this)遇到了一个小问题。现在它总是悬停在 html 代码中的第一个列表(如果我将光标放在第二个评级列表上首先悬停)。
html:
<ol class="rating" data-rating="4">
<li class="Arad5fQEnoZlv9E59d"><a title="Super boring" class="rate starOn" id="1">1 star</a></li>
<li class="Arad5fQEnoZlv9E59d"><a title="Boring" class="rate starOn" id="2">2 stars</a></li>
<li class="Arad5fQEnoZlv9E59d"><a title="Nice" class="rate starOn" id="3">3 stars</a></li>
<li class="Arad5fQEnoZlv9E59d"><a title="Cool" class="rate starOn" id="4">4 stars</a></li>
<li class="Arad5fQEnoZlv9E59d"><a title="Super cool!" class="rate star" id="5">5 stars</a></li>
<div class="response">Score 4 By 2 ratings</div>
</ol>
我的 javascript 中没有做好的部分:
$('ol.rating li', this).hover(function(){
var id = $('a', this).attr('id');
var counter = 1;
var salt = $(this).attr('class');
console.log('ol.rating li.'+salt);
$('ol.rating li.'+salt).each(function(i){
if (id >= counter) {
$('a#'+counter).addClass("starHover");
} else {
$('a#'+counter).removeClass("starHover");
}
counter++;
});
});
希望我的问题有点清楚:)
提前致谢! 尼克
【问题讨论】:
-
this在$('ol.rating li', this)中指的是什么?你也可以添加你的css定义吗?很难看到预期的行为。 -
它指的是用户触摸的ol.rating li(?)页面上有像上面这样的serval ol块。
标签: jquery hover jquery-hover rating-system