Javascript 以一定的速度向光标移动对象

Javascript 以一定的速度向光标移动对象,javascript,html,css,Javascript,Html,Css,在Javascript中,如何以一定的速度将对象移向光标,这是我一直在努力的方向。这是我的密码: var topp1 = document.getElementById("top"); var bottom = document.getElementById("bottom"); document.onmousemove = function(){ var a = event.clientX * 100 / window.innerWidth +

在Javascript中,如何以一定的速度将对象移向光标,这是我一直在努力的方向。这是我的密码:

var topp1 = document.getElementById("top");
var bottom = document.getElementById("bottom");

document.onmousemove = function(){
    var a = event.clientX * 100 / window.innerWidth + "%";
    console.log("a: " + a);
    var b = event.clientY * 100 / window.innerHeight - 36 + "%";
    console.log("b: " + b);

    

    
    for(var i=0;i<2;i++){
        topp1.style.left = a;
        topp1.style.top = b;
        
        bottom.style.left = a;
        bottom.style.top = b;
        
    }
    

}
var topp1=document.getElementById(“top”);
var bottom=document.getElementById(“bottom”);
document.onmousemove=函数(){
var a=event.clientX*100/window.innerWidth+“%”;
控制台日志(“a:+a”);
var b=event.clientY*100/window.innerHeight-36+“%”;
控制台日志(“b:+b”);

for(var i=0;i
onmousemove
是一个事件。通过使用
=
您正在重新定义
文档.onmousemove
函数。您应该做的是为其分配回调

var topp1 = document.getElementById("top");
var bottom = document.getElementById("bottom");

document.onmousemove((event) => {
    var a = event.clientX * 100 / window.innerWidth + "%";
    console.log("a: " + a);
    var b = event.clientY * 100 / window.innerHeight - 36 + "%";
    console.log("b: " + b);

    for(var i=0;i<2;i++){
        topp1.style.left = a;
        topp1.style.top = b;
        
        bottom.style.left = a;
        bottom.style.top = b;
    }
}
var topp1=document.getElementById(“top”);
var bottom=document.getElementById(“bottom”);
document.onmousemove((事件)=>{
var a=event.clientX*100/window.innerWidth+“%”;
控制台日志(“a:+a”);
var b=event.clientY*100/window.innerHeight-36+“%”;
控制台日志(“b:+b”);

对于(var i=0;i,您可以使用jQuery并执行类似的操作。 在css中使用转换时间来更改“速度”

$(document).on(“单击鼠标移动”,“.box”,函数(e){
var x=e.clientX;
变量y=e.clientY;
var newposX=x-60;
var newposY=y-60;$(“.circle”).css(“transform”,“translate3d”(+newposX+“px”,“+newposY+”px,0px)”);
});
正文{
边际:0px;
填充:0px;
字体系列:“Roboto”,无衬线;
}
.盒子{
宽度:100%;
高度:500px;
背景:#eaeaea;
位置:相对位置;
溢出:隐藏;
光标:十字线;
}
.圆圈{
背景:#f00;
宽度:120px;
高度:120px;
边界半径:50%;
位置:绝对位置;
转换:translate3d(-50%,-50%,0);
变换:变换2s三次贝塞尔(.02,1.23,79,1.08);
}
我{
颜色:#f00;
}