【发布时间】:2020-05-15 17:19:02
【问题描述】:
美好的一天!我的小项目有问题。我希望实现的是,每当我将鼠标悬停在钓鱼区时,都会出现一个指示器。但是, tt 似乎在 mousemove 事件上给出了错误的坐标,或者我错了。我这里有我的codepen。
HTML
<div class="game-content">
<div class="pond">
<div id="circle" class="circle"></div>
<div id="pond__fishing-area" class="pond__fishing-area"></div>
</div>
</div>
JS
new Vue({
el: '#app',
mounted() {
let circle = document.getElementById("circle");
let circleRect = circle.getBoundingClientRect();
let wrapper = document.getElementById("pond__fishing-area");
let wrapperRect = wrapper.getBoundingClientRect();
function moveCircle(e) {
gsap.to(circle, 0.3, {
css: {
left: e.clientX,
top: e.clientY
}
});
}
wrapper.addEventListener("mouseover", function() {
gsap.to(circle, 0.4, { scale: 1, autoAlpha: 1 });
wrapper.addEventListener("mousemove", moveCircle);
});
wrapper.addEventListener("mouseout", function() {
gsap.to(circle, 0.4, { scale: 0.1, autoAlpha: 0 });
});
}
})
【问题讨论】:
-
onpond 类,
position: relative;计算错误位置。你能把它删掉吗? -
好的先生,让我试试
-
我已经更新了 @hasan05 先生,但是球在移动时失去了不透明性。
-
您可以设置
mouseout事件,@anyman morsy 的回答也可以。
标签: javascript css vue.js sass gsap