Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

193
Views
Múltiples información sobre herramientas que no se muestran correctamente en reaccionar

Estoy trabajando con gráficos de reacción D3, he creado gráficos y funciona bien.

Que he hecho

  • Tengo varios gráficos que se actualizan en algunos intervalos de tiempo, algo así como datos en vivo
  • Entonces, para lograr esto, utilizo el efecto y actualizo mis gráficos cada segundo, y mis datos en los gráficos se actualizan correctamente.
  • He dado una información sobre herramientas al pasar el mouse sobre la barra, para que el usuario pueda verificar los datos de cada barra o línea.

Usando el siguiente código para mostrar la información sobre herramientas

 .on("mousemove", function (event, d) { // this whole code is when I hover that perticular bar d3.select(this) .transition() .duration("50") .attr("opacity", 0.6) .attr("x", (a) => xScaleBars(a.timeline) - 3) .attr("width", xScaleBars.bandwidth() + 6) .style("filter", "url(#glow)"); div.transition().duration(50).style("opacity", 1); div .html( `</text><text"></br> value : ${d.dataToShow} <br/> </text><text"></br> Month : ${d.month} ` ) .style("left", event.pageX - 58 + "px") .style("top", event.pageY - 140 + "px"); }) .on("mouseout", function (d, i) { // this is when I move cursor out of that bar d3.select(this) .transition() .duration("50") .attr("width", xScaleBars.bandwidth()) .attr("x", (a) => xScaleBars(a.timeline)) .style("filter", "none") .attr("opacity", "1"); div.transition().duration("50").style("opacity", 0); })

Problema al que me enfrento

  • El problema es que cuando coloco el cursor sobre un componente del gráfico, se muestra la información sobre herramientas, y cuando coloco el cursor sobre el otro, ambos se muestran al mismo tiempo. Se muestra así.

  • Lo que estoy tratando de hacer es mostrar la información sobre herramientas cuando paso el cursor por la barra de cualquier gráfico y luego lo oculto, probé debajo del código

d3.select("svg").selectAll(".tooltipCHart").remove();

Pero no resuelve mi problema, creo que me falta una pequeña parte

aquí está mi sandbox de código que probé

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El problema es que está creando una nueva división de información sobre div cada vez que vuelve a renderizar el gráfico.

Un mejor enfoque es tener un div de información sobre herramientas oculto al principio (en el render / retorno de su componente de función) y luego simplemente modificar su contenido y estilo (opacidad: 1) en mouseover y mouseout . Realice un seguimiento de la información sobre herramientas div usando un ref .

Ver códigos de trabajoy cuadro (solo modifiqué el gráfico 1, puede hacer cambios similares al gráfico 2)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!