javascript - 悬停事件的追踪模式在 tsParticles 中不起作用(类似于particlejs)
问题描述
我有两个查询,我正在我的 React 应用程序中实现 tsParticles。 第一:。
<Particles
id="tsparticles"
options={{
background: {
color: {
value: "black",
},
},
fpsLimit: 60,
interactivity: {
detectsOn: "window",
events: {
onClick: {
enable: true,
mode: "push",
},
onHover: {
enable: true,
mode: "trail",
},
resize: true,
},
modes: {
bubble: {
distance: 400,
duration: 2,
opacity: 0.8,
size: 40,
},
push: {
quantity: 4,
},
repulse: {
distance: 200,
duration: 0.4,
},
},
},
particles: {
color:{
animation:{
enable:true,
speed:50,
},
value:"#f00"
},
links: {
shadow:{
blur:true,
color:"#00ff00"
},
triangles:{
frequency: 1
},
color: "random",
distance: 150,
enable: true,
frequency:1,
opacity: 0.5,
width: 1,
},
collisions: {
enable: true,
},
move: {
angle:{
offset: 45,
value: 90
},
attract:{
rotate:{
x:3000,
y:3000
}
},
gravity:{
acceleration: 9.81,
enable:false,
maxSpeed:1
},
direction: "none",
enable: true,
outMode: "bounce",
random: false,
speed: 6,
straight: false,
},
number: {
density: {
enable: true,
value_area: 1000,
},
value: 80,
},
opacity: {
value: 0.5,
},
shape: {
type: "circle",
},
size: {
random: true,
value: 5,
},
},
detectRetina: true,
}}
/>
其中有一段 onHover 和 mode 的键值。它有 8 种不同的模式,可以在https://particles.matteobruni.it/中查看。所有其他模式都可以正常工作,但是当我使用此代码时的跟踪模式,我是否缺少粒子组件的其他一些属性?
第二个: 另外,我有两个 div,一个用于粒子,另一个用于在其上显示的文本。我已经使用 z-index 和位置实现了这一点。
我需要画布高度是动态的,无论屏幕尺寸是多少,它都占据其父级的 100% 高度。我尝试通过在 div 中包含粒子组件并将其高度保持为 100% 来做到这一点,但画布高度会随着屏幕尺寸的减小而减小。
请帮助我,谢谢:)
解决方案
哇,这里有很多要回答的问题,但我会尽力而为。
第一点,配置和鼠标轨迹
鼠标轨迹需要更多的配置,在该modes
部分interactivity
你必须配置该trail
部分。
您可以在此处查看示例:https ://codepen.io/matteobruni/pen/abdpbBY
如果您需要更多文档,请查看文档中的正确部分:https ://particles.js.org/interfaces/_options_interfaces_interactivity_modes_itrail_.itrail.html
第二点,画布大小
如果您需要动态画布大小,最好的解决方案是backgroundMode
在选项根对象中使用
您可以在此处查看示例:https ://codepen.io/matteobruni/pen/MWeqxNL
如果启用背景模式,则使用位置和所需的样式设置canvas
样式fixed
zIndex
如果您使用,则无需为包含(tsParticles 目标/容器)backgroundMode
设置任何样式即可获得更好的结果div
推荐阅读
- c# - 如何修复 C# 中的“无法隐式转换类型”错误?
- google-play-services - 如果我想直接向广告商出售广告空间,我必须使用 Google Play 计费库吗?
- php - 在单个 html 表单字段中提交大量数据时超时
- python - 附加来自 xml 文件的列表列表
- windows - icacls 不适用于 Active Directory 安全组
- node.js - 我有一个关于爬行的问题。我想使用函数的返回值
- jquery - 自动调用 REST API
- c# - 为什么 ASP.NET 在输出 HTML 中插入“������”?
- java - Android实现一个progressBar,上面有两个剪辑textview
- mongodb - 有什么方法可以将 MongoDB 连接到 Druid?