Próbowałem utworzyć galerię obrazów za pomocą Angular 4. Logika za tym polega na dodaniu klasy Cascaded Style Sheet (CSS) do wybranego obrazu, który pokaże czerwoną ramkę wybrany (kliknięty) obraz. Jest to plik kaskadowego arkusza stylów (CSS) dla galerii obrazów.Dodaj klasę do elementu w Angular 4
Chcę pokazać czerwony kwadrat wyboru na obrazku, który kliknąłem. "To jest klasa" należy dodać do wybranego obrazu.
#container{
border:1px solid red;
height:auto;
}
ul li{
margin-right:20px;
margin-left:0;
list-style-type:none;
display:inline;
}
ul li img{
width: 200px;
height:200px;
border:1px solid grey;
}
#select{
border:2px solid violet;
}
.this-is-a-class{
border: 10px solid red !important;
}
Poniżej znajduje się kod HTML
<div id="container">
<ul>
<li><img class="this-is-a-class" id="1" src="../../assets/images/1.jpg" (click)="addClass(id=1)"/></li>
<li><img id="select" src="../../assets/images/2.png" (click)="addClass(id=2)"/></li>
<li><img id="3" src="../../assets/images/3.jpg" (click)="addClass(id=3)"/></li>
<li><img id="4" src="../../assets/images/4.png" (click)="addClass(id=4)"/></li>
<li><img id="5" src="../../assets/images/5.jpg" (click)="addClass(id=5)"/></li>
</ul>
</div>
<div>
<h1>You Clicked on: {{id}}</h1>
</div>
Kod maszynopis jest następujący
import { Component, OnInit } from '@angular/core';
import { DataService } from '../../services/data.service';
@Component({
selector: 'app-user',
templateUrl: './user.component.html',
styleUrls: ['./user.component.css']
})
export class UserComponent implements OnInit {
id: number;
constructor() {
console.log("Constructor working..")
}
ngOnInit() {
console.log('ngOnInit works..');
}
//function to add the class to selected image to show the border.
addClass(id) {
this.id = id;
//id = this.id? 'selectedImg' : 'null';
}
}
jest css działa dobrze, jeśli przypisać go do li ręcznie ? –
Działa dobrze. –
Przeczytaj [W jakich okolicznościach mogę dodać "pilne" lub inne podobne zwroty do mojego pytania, aby uzyskać szybsze odpowiedzi?] (// meta.stackoverflow.com/q/326569) - podsumowanie jest takie, że nie jest to Idealny sposób na zwracanie się do wolontariuszy i prawdopodobnie nie przynosi odpowiedzi. Proszę nie dodawać tego do swoich pytań. – halfer