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

289
Visualizações
Importe un archivo javascript que funcione en Svelte

Estoy creando una aplicación en Svelte y estoy tratando de agregarle un archivo .js previamente escrito. Traté de importarlo en el archivo main.js , pero me da un error: Cannot read properties of null (reading 'offsetHeight') Este es el archivo .js :

 [...] function colorSubheadings() { // Replace subheading background colors var redStart = 255; var greenStart = 255; var blueStart = 255; var redEnd = 249; var greenEnd = 250; var blueEnd = 251; var redDiff = redEnd - redStart; var greenDiff = greenEnd - greenStart; var blueDiff = blueEnd - blueStart; var page = document.querySelector('.page'); var pageHeight = page.offsetHeight; var subheadings = document.getElementsByClassName('.chapter'); for (var i = 0; i < subheadings.length; i++) { // Get the position relative to .page var span = subheadings[i].querySelector('span'); var factor = span.offsetTop / pageHeight; var r = Math.floor(redDiff * factor + redStart); var g = Math.floor(greenDiff * factor + greenStart); var b = Math.floor(blueDiff * factor + blueStart); var color = 'rgb(' + r + ',' + g + ',' + b + ')'; // Color background based on position span.style.backgroundColor = color; span.style.boxShadow = '11px 0 0 ' + color + ', -13px 0 0 ' + color; } } [...]

Y este es el archivo .svelte :

 <script> //some functions </script> <div class="page"> [...] <div class="chapter-sidebar"> <div class="sidebar js-sidebar"> <div class="sidebar__wrapper"> <ul class="sidebar__list"> {#each files as { file } (file.name)} <li class="sidebar__list-item"> <a class="sidebar__link" href="#temp">{file.name.split('.').slice(0, -1).join('.')}</a> </li> {/each} </ul> </div> </div>

En el archivo .svelte hay una barra de navegación lateral, como esta . En vanilla html funciona perfectamente, pero con svelte hay algunos errores, como que la barra de navegación no se "pega" en un lugar: si me desplazo hacia abajo, permanece en la parte superior de la página, en lugar de permanecer en una posición particular del pantalla, "siguiendo" el desplazamiento del usuario. Entonces, ¿qué puedo hacer para usar este archivo .js en mi proyecto esbelto? También probé esta solución, pero no funcionó para mí. Gracias de antemano.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

¿Dónde se llama a la función colorSubheadings() ?
(Veo var subheadings = document.getElementsByClassName('.chapter') pero no hay elementos con clase 'chapter' en el archivo Svelte)

te sugiero que pruebes

  1. importando el archivo .js en index.html en la carpeta yourproject/puplic después de <script src="/build/bundle.js"></script> (en caso de que se llame a la función dentro del mismo archivo .js )
  2. ejecute la función dentro de onMount en el componente .svelte (archivo .js dentro de la carpeta yourproject/src con la función exportada export colorSubheadings() {...} )
 import {onMount} from 'svelte' import {colorSubheadings} from './xy.js' onMount(()=> { colorSubheadings() })
about 4 years ago · Juan Pablo Isaza Relatório

0

Debe exportar la función en su archivo js antes de poder importarla en su archivo .svelte (u otro archivo JS).

 export function colorSubheadings() { ... }
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