【发布时间】:2020-01-23 10:18:09
【问题描述】:
我开发了一个图片库。 每个图像都有它的名字作为它的原始状态。 当我单击图像时,带有名称的 div 会消失,并显示一个带有操作的新 div。
有没有办法点击不同的图像,前一个图像恢复到原来的状态? (再次显示带有名称的 div)
此时,当我单击图像时,我可以隐藏带有名称的 div 并显示动作 div,但是当我单击另一个图像时,我无法将前一个图像恢复到原来的状态:(
代码
<ul class="mdc-image-list my-image-list" style="padding-left: 10px;padding-right: 10px;">
<li class="mdc-image-list__item" *ngFor="let product of Images; let j = index;">
<div class="mdc-image-list__image-aspect-container">
<img [src]="product.image" class="mdc-image-list__image"
(click)="eventB($event,j)">
</div>
<div class="mdc-image-list--with-text-protection">
<div class="mdc-image-list__supporting mdc-image-list__supporting{{j}}">
<span class="mdc-image-list__label divT{{j}}">{{product.Name}}</span>
<span class="mdc-image-list__label ImageButtonsG divB{{j}}">
<a >ADD </a>
<a>Save</a>
<a>delete</a>
<a>neu</a>
</span>
</div>
<a class="EyeG eyeB{{j}}" (click)="Produto(product.id)"></a>
</div>
</li>
</ul>
eventB(e, j) {
$(".divT" + j).css({ "display": "none" });
$(".mdc-image-list__supporting" + j).css({ "background": "none" });
$(".divB" + j).css({ "display": "block" });
$(".eyeB" + j).css({ "display": "block" });
}
问题
我点击了两张图片,只有最后一张点击的图片应该有 stock div 而不是两者都有(第一个点击的应该是原始状态(div with name))
【问题讨论】:
-
将
jQuery与Angular一起使用是不好的做法。使用directives来操作 DOM 行为。 -
@SanthoshV 我相信,但这是能够开发此功能的唯一方法
标签: javascript css angular typescript