Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

220
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda