Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置光标跟随已设置动画的元素的动画_Javascript_Css_Animation - Fatal编程技术网

Javascript 设置光标跟随已设置动画的元素的动画

Javascript 设置光标跟随已设置动画的元素的动画,javascript,css,animation,Javascript,Css,Animation,我有一个元素,它有一个用于上下缩放的动画(如呼吸效果),我想在下面添加光标 我的代码只有在删除CSS中的动画时才有效 我做错了什么 看起来你的帖子大部分是代码;请添加更多详细信息 类跟随游标{ 构造函数(元素、窗口){ this.element=元素; 这个。w=窗口; this.w.onmousemove=this.move.bind(this); } 动议(e){ this.element.setAttribute( “风格”, `transform:translate(${e.clien

我有一个元素,它有一个用于上下缩放的动画(如呼吸效果),我想在下面添加光标

我的代码只有在删除CSS中的动画时才有效

我做错了什么

看起来你的帖子大部分是代码;请添加更多详细信息

类跟随游标{
构造函数(元素、窗口){
this.element=元素;
这个。w=窗口;
this.w.onmousemove=this.move.bind(this);
}
动议(e){
this.element.setAttribute(
“风格”,
`transform:translate(${e.clientX}px,${e.clientY}px)`
);
}
}
const el=document.querySelector(“.el”)
const cursorFollowing=新的跟随光标(el,窗口)
.el{
位置:绝对位置;
动画:a呼吸8秒无限向前;
左:0;
排名:0;
宽度:30px;
高度:30px;
背景颜色:黄色;
}
div{
职位:相对
}
@关键帧a-呼吸{
0% {
变换:比例(1);
}
60% {
转换:比例(1.8);
}
100% {
变换:比例(1);
}
}
```

我相信如果你改变这一行,你会得到你期望的行为

transform:translate(${e.clientX}px,${e.clientY}px)

为此:

位置:绝对位置;顶部:${e.clientY}px;左:${e.clientX}px


例如:

您正在覆盖transform属性,因为每个元素只能有一个,所以您需要一个元素来移动,另一个div元素来进行呼吸;以下是解决方案:

类跟随游标{
构造函数(元素、窗口){
this.element=元素;
这个。w=窗口;
this.w.onmousemove=this.move.bind(this);
}
动议(e){
this.element.setAttribute(
“风格”,
`transform:translate(${e.clientX}px,${e.clientY}px)`
);
}
}
const el=document.querySelector(“.el”)
const cursorFollowing=新的跟随光标(el,窗口)
.el{
位置:绝对位置;
左:0;
排名:0;
宽度:30px;
高度:30px;
背景颜色:黄色;
}
.呼吸元件{
动画:a呼吸8秒无限向前;
宽度:100%;
身高:100%;
背景:红色;
}
div{
职位:相对
}
@关键帧a-呼吸{
0% {
变换:比例(1);
}
60% {
转换:比例(1.8);
}
100% {
变换:比例(1);
}
}


@MohamadShiralizadeh哇。不,求你了。不要给出这种建议。也许你可以粘贴css来帮助我们解决这个问题。我在代码中粘贴了css。@januszeq你的JS和css都在使用transform属性,因此位置被覆盖。您可以尝试使用上/左位置:@BrettGregson对不起,没有理解。