我正在测试我正在开发的评级模块,有一个相当简单的结构的想法,它允许基于 ajax 的平滑投票,但发现了一些奇怪的东西..
构造是两个 div,一个嵌套在另一个中以显示星星,鼠标悬停设置宽度,稍后将转换为百分比作为投票。
在对此进行测试时,我发现一切正常,但是当我单击时,它有时会使内部 DIV 的宽度重置,如果我将鼠标悬停会这样做,我不确定我是否明白为什么。我包括一个工作示例。
我正在测试我正在开发的评级模块,有一个相当简单的结构的想法,它允许基于 ajax 的平滑投票,但发现了一些奇怪的东西..
构造是两个 div,一个嵌套在另一个中以显示星星,鼠标悬停设置宽度,稍后将转换为百分比作为投票。
在对此进行测试时,我发现一切正常,但是当我单击时,它有时会使内部 DIV 的宽度重置,如果我将鼠标悬停会这样做,我不确定我是否明白为什么。我包括一个工作示例。
这是固定代码:
$(".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 有时很奇怪...