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

187
Visualizações
Angular 8, ¿cómo detectar el div actual "desplazado a"?

Tengo un div con divs internos a los que puedo desplazarme pasando su id a una función. Me pregunto cómo puedo hacer lo contrario: detectar la identificación de div cuando se revela/desplazarse hacia, y así cambiar la clase del botón al que pertenece. Entonces, por ejemplo, si me desplazo a "div medio" (número 5), quiero poder detectarlo y resaltar el botón "medio" - para todos ... desplácese hasta el último div - y luego el botón "último" debería ser resaltado.

ingrese la descripción de la imagen aquí

Ejemplo

 @Component({ selector: 'my-app', template: ` <div class="main-wrapper"> <div class="button-wrapper"> <button *ngFor="let item of buttonsArr" [ngClass]="{'active': item.isActive}" (click)="scrollToElement(item)" class="nav-btn">{{item.key}}</button> </div> <div class="content"> <button (click)="scrollToElement()">Scroll prev</button> <button (click)="scrollToElement()">Scroll next</button> <div class="wrapper"> <li *ngFor="let item of itemList; let i = index" id="elem-{{i}}">{{item}}</li> </div> </div> </div> `, }) class HomeComponent { text = 'foo'; buttonsArr = [{key:'first', value:1},{key:'middle', value:4}, {key:'last', value:11}]; testObject = {fieldFirst:'foo'}; itemList = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', ]; scrollToElement(elemId?) { if(elemId){ document.getElementById("elem-"+elemId.value).scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"}); this.buttonsArr.forEach(i => { i.isActive = false}) elemId.isActive = true; }else{ document.getElementById("elem-7").scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"}); } }

}

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