使用jQuery版本1.11.3 .fadeOut()方法时,我遇到了一个奇怪的问题。
用于在用户使用鼠标滚轮更改图像的缩放级别时短暂显示百分比。它或多或少按预期工作,除了移动鼠标似乎在中途停止淡入淡出直到mousemove事件完成。描述我的代码的相关部分的示例如下所示。
var value = 50;
$('#outer').bind('mousemove', function(e) {
//Do something
console.log('bind outer');
});
$('#inner').bind('mousewheel DOMMouseScroll MozMousePixelScroll', function(e) {
e.stopImmediatePropagation();
e.stopPropagation();
e.preventDefault();
$('#number').replaceWith("<span id='number' class='number'>" + Math.round(value) + "%</span>");
$('#number').delay(300).fadeOut("slow");
//Do something
console.log(value);
});
#outer {
height: 300px;
width: 300px;
border: 1px solid red;
}
#inner {
height: 150px;
width: 300px;
border: 1px solid green;
}
#number {
border: 1px solid blue;
}
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<div id="outer">
<div id="inner">
<span id="number">50</span>
</div>
</div>
根据这些天似乎需要的通常免责声明,是的,我已经搜索了答案。我也知道jQuery .bind()方法已被折旧,但这不是问题,因为我可能最终将此代码移植到纯JavaScript以获得更好的处理速度并消除对jQuery的依赖。
更新:看起来这可能是浏览器问题。我在Firefox 41.0,Chrome 45.0,Opera 32.0,Safari 5.1.7中进行了测试,这个问题似乎是针对Firefox的。我还在Internet Explorer 8中测试过它(对于XP用户),但这是一个完全不同的动物。