我正在测试一个我正在研究的评级模块,有一个相当简单的构造的想法,允许基于ajax的流畅投票,但发现了一些奇怪的东西..
结构是两个div,一个嵌套在另一个中以显示星星,鼠标设置宽度,这将在以后的投票中转换为百分比。
在测试中,我发现一切正常,但是当我点击时,它有时会使内部DIV的宽度重置,这就是如果我被淘汰它会怎么做,我不确定我理解为什么。我要包括一个有效的例子。
答案 0 :(得分:1)
这是固定代码:
$(".ratingsBlock").mousemove(function(e){
$(".ratingsScale").width(e.offsetX);
});
$(".ratingsBlock").click(function(e){
$(this).attr("score",e.offsetX);
});
$(".ratingsBlock").mouseleave(function(e){
$(".ratingsScale").width($(this).attr('score'));
//$(".ratingsScale").animate({width:$(this).attr('score')+'px'}, 500);
});
我将mouseOut函数更改为mouseLeave,并在点击.ratingsBlock时更新了评分的分数。
mouseOut有时很奇怪......