Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

331
Visualizações
¿Cómo solucionar este problema de numeración por superposición?

ingrese la descripción de la imagen aquí

La demostración de trabajo de Codepen aquí . Cuando haga clic en la cuadrícula, dibujará líneas con puntos rojos numerados. El problema al que me enfrento ahora es : digamos que si hace clic en la cuadrícula para dar una línea 1,2,3 como se muestra arriba y porque desea crear una línea con el punto número 5, debe volver a hacer clic en el 2 nuevamente . Entonces, se salta un número porque lo etiqueta como 1,2,3,5 y no hay 4 . Traté de modificar el código en la línea 160 porque es responsable de la adición de la numeración. Cualquier ayuda será apreciada.

 var elements = document.getElementsByClassName('red-dot'); var eLength = elements.length; kk=0; dValue = eLength+1;

Gracias por leer y que tengas un buen día :)

ingrese la descripción de la imagen aquí

about 4 years ago · Santiago Gelvez
2 Respostas
Responde à pergunta

0

Tienes que introducir una nueva variable global numberOfDots . Inicializarlo a cero. Aumente su valor solo cuando se dibuje un punto en una posición de cuadrícula que aún no se haya tomado, es decir, dentro del bloque if (!isTaken) . Luego, en lugar de dValue = eLength+1 , puede hacer dValue = numberOfDots+1 .

about 4 years ago · Santiago Gelvez Relatório

0

El problema reside en create_dot . Cuando calcula el siguiente número, tiene en cuenta todos los puntos rojos, incluso los que ha ocultado:

 //line 157 var elements = document.getElementsByClassName('red-dot'); var eLength = elements.length; kk=0; dValue = eLength+1;

Lo que haría es esto (evitando variables globales):

Cuando establezca el fondo en transparente, agregue una clase hidden para adaptar su selector:

 //line 172 if (!isTaken) { newDot.dataset['dvalue'] = dValue; newDot.innerHTML = newDot.dataset.dvalue; } else { newDot.style.backgroundColor = 'transparent'; newDot.classList.add('hidden'); }

Después :

 //line 157 var elements = document.querySelectorAll('.red-dot:not(.hidden)'); var eLength = elements.length; kk=0; dValue = eLength+1;

De esta forma, solo contarás los puntos rojos visibles. Esta técnica se puede adaptar para satisfacer sus necesidades, puede filtrar los elementos y verificar también su propiedad de color de fondo si lo prefiere. El error está solo en el hecho de que no muestra algunos puntos rojos, pero los cuenta de todos modos y eso lleva a su función a omitir números.

about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda