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

219
Visualizações
Cambiar el ancho directamente frente a cambiar el ancho de la propiedad personalizada CSS

Tengo un problema con la expansión del ancho del panel lateral en JavaScript:

Necesito cambiar el tamaño en el evento mousemove pero el rendimiento visual de cambiar el ancho (como el.style.width = value ) es mucho mejor que cambiar la propiedad personalizada (como style.setProperty('--side-panel-width, value) ) - En realidad, el segundo está helado :(

Sin embargo, quiero cambiar la propiedad personalizada, porque el posicionamiento de otros 2 paneles depende de este valor de propiedad personalizada:

 .other-panel { left: calc(var(--side-panel-width) + var(--offset)); }

Mi código del controlador de eventos mousemove (simplificado):

 onMouseMove(e) { requestAnimationFrame(() => const parent = this.$refs.resize.parentNode; const dx = this.size - ex; this.size = ex; const value = (parseInt(getComputedStyle(parent, '').width) + dx); parent.style.width = value + 'px'; // CHANGE WIDTH DIRECTLY // this.app.style.setProperty('--side-panel-width', value + 'px'); // OR CHANGE CUSTOM PROPERTY ) }

Por favor, ¿puede explicar por qué ocurre este problema de rendimiento y hay alguna forma de resolverlo sin cambiar el ancho directamente?

UPD:

  • Simplifiqué mi código para el controlador de eventos para hacerlo más esencial
  • Apliqué will-change: width; Propiedad CSS a .side-panel también
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si desea cambiar la variable css, lo primero que debe hacer es seleccionar :root :

 const root = document.querySelector(':root');

después

 root.style.setProperty('--side-panel-width', value + 'px');

Espero que esto ayude

about 4 years ago · Juan Pablo Isaza 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