CSS js 在鼠标移动重绘时不会消失
CSS js on mousemove redraw without disappear
我通过鼠标位置在窗口上用CSS画圆。然后我慢慢移动光标,很好的重绘,但如果我移动光标更快,我可以看到圆是如何消失的。如何流畅地重绘而不会消失?
我的代码我在下面尝试什么:
.circle {
position: absolute;
width:100px;
height:100px;
border-radius:50px;
border: 1px solid #000
}
<div class="circle"> </div>
$(window).mousemove(function(e) {
var x = e.clientX;
var y = e.clientY;
$(".circle").css("left", x-50); //-50 for center because circle width = 100
$(".circle").css("top", y-50); //-50 for center because circle height = 100
});
http://jsfiddle.net/rkEMR/3996/
两种优化可以解决您的问题:
- 鼠标移动前在变量中缓存
$(".circle")
- 使用
transform: translate3d(x,y,z)
而不是左+上
请参阅:http://jsfiddle.net/rkEMR/3998/
另一种方法是使用animate,而不是@zvona所说的也可以用作魅力:
<script>
$(window).mousemove(function(e) {
var x = e.clientX;
x = x-50;
var y = e.clientY;
y = y-50;
$(".circle").animate({"left": x+"px", "top": y+"px"}, 0);
});
</script>
最后的 0 是转到光标的时间(以毫秒为单位)。例如,您可以使用 10 毫秒使其更平滑。
顺便说一句,我在 Chrome 和 Firefox 上,在 MAC 上尝试了您的代码,我没有看到它更快地移动光标。
相关文章:
- 为什么js事件消失了
- JS文件的路径正在消失
- Morris.js折线图x轴标签在调整大小后消失
- 工具提示在带有两个图表的d3.js中消失
- 当对象从服务器发送到客户端时,JS原型方法消失了
- JS变量“;消失”;没有理由,变得空虚
- 使用D3.js生成的SVG图形在Safari中滚动时消失
- 对象在Ember.js中保存时从视图中消失
- 在react js中进行ajax调用后,该列将消失
- Bootstrap-select.js-选择一个选项后,整个选择将消失
- CSS js 在鼠标移动重绘时不会消失
- 隐藏/禁用字段从 req.body 中消失(Express JS bodyParser)
- 拉斐尔.js尝试设置 id 时 Qtip 工具提示消失
- 在完整日历.js中消失的事件
- 动态观察控件.js导致模型在单击旋转时消失
- 使用 JS/jQuery 将行动态添加到表中时行消失
- 对象中的 JS 函数消失
- 图表.js在调整窗口大小时消失
- JS折叠菜单上的标头消失
- D3.js弦图 - 将鼠标悬停在弧上时显示/消失文本