Javascript 在a球体的上方显示鼠标文本
这是我正在为360图像库调整的代码: 以下是MCV版本: 我有一个链接模板:Javascript 在a球体的上方显示鼠标文本,javascript,aframe,Javascript,Aframe,这是我正在为360图像库调整的代码: 以下是MCV版本: 我有一个链接模板: <script id="link" type="text/html"> <a-entity class="link" hover-text="value: I am hovered." rotation="-45 0 0" position="-4 0 0" geometry="pri
<script id="link" type="text/html">
<a-entity class="link"
hover-text="value: I am hovered."
rotation="-45 0 0"
position="-4 0 0"
geometry="primitive: sphere; radius: .5"
material="shader: flat; src: ${thumb};"
event-set__1="_event: mousedown; scale: 1 1 1"
event-set__2="_event: mouseup; scale: 1.2 1.2 1"
event-set__3="_event: mouseenter; scale: 1.2 1.2 1"
event-set__4="_event: mouseleave; scale: 1 1 1"
set-image="on: click; target: #image-360; src: ${src}"
sound="on: click; src: #click-sound"
></a-entity>
</script>
),
但是,除非我没有把悬停文本组件放在正确的位置,否则我无法让它工作。有什么建议吗?谢谢。使用值
,而不是内容
el.setAttribute('text',{content:data.content})代码>
您还可以使用event-set\uuuutext=“\u event:mouseenter;text.value:'Hello'”
或event-set\utext=“\u event:mouseenter;\u target:#someText;text.value:“Hello”
确实无法让它工作,但下面是它工作的原因:
添加此脚本(以实体为目标)并切换其不透明度:
<script>
document.querySelector('a-scene').addEventListener('enter-vr', function () {
var link = document.querySelector('.bottom-left').style.visibility = "hidden";
});
document.querySelector('.target').addEventListener('mouseenter', function () {
var toggle = document.querySelector('.toggle').setAttribute('opacity', 100);
var text = document.querySelector('.text').setAttribute('opacity', 100);
});
document.querySelector('.target').addEventListener('mouseleave', function () {
setTimeout(function () {
var toggle = document.querySelector('.toggle').setAttribute('opacity', 0);
var text = document.querySelector('.text').setAttribute('opacity', 0);
}, 100);
});
而viola…只需要为每件事创建一个新的平面、脚本和目标。它并不干净,但对没有javaScript经验的人来说是有效的。首先,我链接了代码。其次,我在帖子中编辑了重要的部分。所以收回否决票。谢谢凯文!我尝试将悬停文本脚本更改为value而不是content并将悬停文本放在单个链接中,但这不起作用。然后我删除了脚本并尝试了事件集并将其放入链接模板中?也不起作用,但这可能是因为我不知道事件集的工作原理。这是我正试图开始工作的迷你版本,希望…如果你能看到我是否将你的code right#someText
通过您需要创建的用于保存文本的ID指向实体。我为图像链接实体添加了someText ID。没有文本仍然显示。
<script>
document.querySelector('a-scene').addEventListener('enter-vr', function () {
var link = document.querySelector('.bottom-left').style.visibility = "hidden";
});
document.querySelector('.target').addEventListener('mouseenter', function () {
var toggle = document.querySelector('.toggle').setAttribute('opacity', 100);
var text = document.querySelector('.text').setAttribute('opacity', 100);
});
document.querySelector('.target').addEventListener('mouseleave', function () {
setTimeout(function () {
var toggle = document.querySelector('.toggle').setAttribute('opacity', 0);
var text = document.querySelector('.text').setAttribute('opacity', 0);
}, 100);
});
<a-plane class="toggle" color="#2582EF" height="1.25" width="2.5" scale="0.8 0.8 0.8" rotation="0 -90 0"
position="3 -5 .3" opacity="0" visible="true" material="color:#2582EF;opacity:0" geometry="primitive:plane;height:1.25;width:2.5">
<a-text class="text" text="anchor:align;width:4.5;color:#FFFFFF;align:center;opacity:0;font:https://cdn.aframe.io/fonts/Exo2SemiBold.fnt;
value:Hey"
letterspacing="1.3" width="4.5" color="#FFFFFF" align="center" opacity="0" scale="0.5 0.5 0.5"
position="0 0 0" rotation="0 0 0" visible="true">
</a-text>
</a-plane>
class="target"