0

这是一个简单的问题,但我似乎无法解决它。我有这段代码,它几乎可以解释自己:

    $('div.userrate').hover(function() {
        var width = $(this).width();
        $(this).width(width);
        $(this).stop().children('form').fadeOut('fast', function() {
            $(this).next('p.hidden').fadeIn('fast')
        });
    }, function() {
        $(this).children('p.hidden').stop().fadeOut('fast', function() {
            $(this).prev('form').fadeIn('fast')
        })
    })

它工作得很好,但是当我快速浏览所有元素时,它会中断。两者都是可见的p.hiddenform我试图在stop()这里添加一些操作,但没有帮助。

有什么建议么?

- 编辑 -

根据要求,.userrate 的 HTML:

<div class="userrate">    
<form>    
<input class="star {split: 2}" type="radio" disabled="disabled" value="1">    
<input class="star {split: 2}" type="radio" disabled="disabled" value="2">    
<input class="star {split: 2}" type="radio" disabled="disabled" value="3">    
<input class="star {split: 2}" type="radio" disabled="disabled" value="4">    
<input class="star {split: 2}" type="radio" disabled="disabled" value="5">    
<input class="star {split: 2}" type="radio" disabled="disabled" value="6">    
<input class="star {split: 2}" type="radio" disabled="disabled" value="7">    
<input class="star {split: 2}" type="radio" disabled="disabled" value="8">    
<input class="star {split: 2}" type="radio" disabled="disabled" value="9" checked="checked">    
<input class="star {split: 2}" type="radio" disabled="disabled" value="10">
</form>    
<p class="hidden">Skończyłem</p>    
</div>
4

1 回答 1

1

最简单的事情是添加.stop()到回调淡入淡出。更改.fadeIn().fadeTo()应确保评级元素始终完全消失(问题所在)。.hidden元素没有正确淡出的问题从来没有出现过(这是有道理的),但你可以.fadeTo()在那里使用以防万一。

这是一个示例小提琴:http: //jsfiddle.net/36SCH/

于 2012-06-12T17:02:36.313 回答