angular - Ionic 3如何检测元素是否在滚动视图中
问题描述
我已经动态呈现了离子卡列表。离子卡被分组在特定的组中,后跟带有该组名称的标题 div 和 class day-overview-group
。是否可以检测组是否有让我们说 7+ 离子卡添加位置粘到该标题的类,并在用户滚动超出该组时将其关闭?
@编辑
现在,我所需要的只是.day-overview-group
一旦它有 5 张以上的卡片,就可以通过某种方式来定位特定目标
- 并且用户可以看到一次添加固定到顶部的类
- 一旦卡片不在视口中,就删除该固定类
<ion-grid *ngFor="let day of dayOverViewByGroup; let i = index" padding>
<div *ngIf="day.children.length > 0">
<div class="day-overview-group">
<h2 class="day-overview-group__name">{{day.name}}</h2>
<p class="day-overview-group__children">({{day.totalCheckinChildren}}/{{day.totalChildren}})</p>
</div>
<ion-row align-items-center class="card-header">
<ion-col col-2 [attr.col-3]="!displayCheckin ? '' : null">
<p class="card-header__item">Name</p>
</ion-col>
<ion-col col-5 [attr.col-6]="!displayCheckin ? '' : null">
<p class="card-header__item">Kommentar Kita</p>
</ion-col>
<!-- <ion-col col-2>
<p card-header__item>Kommentar Eltern</p>
</ion-col> -->
<ion-col col-2>
<p class="card-header__item">Status</p>
</ion-col>
<ion-col col-1>
<p class="card-header__item">Timeedit</p>
</ion-col>
<ion-col col-2 *ngIf="displayCheckin" text-center>
<p class="card-header__item">Checkin</p>
</ion-col>
</ion-row>
<ion-card *ngFor="let children of day.children; let j = index">
<ion-card-content>
<ion-row align-items-center class="row {{children.class}} row__center">
<!-- name-column col-2 -->
<ion-col col-2 [attr.col-3]="!displayCheckin ? '' : null">
<div class="{{children.awayClass}}{{children.addtionalClass}}">
<h2 class="child-name" (click)="detailChildren(children.id)">{{children.name}}</h2>
<div class="children__activities" *ngIf="activities.length > 4">
<button class="children__activities__button"
(click)="detailChildrenToReportTab(children.id, selectedDateTitle)">See full report</button>
</div>
<div class="children__activities" *ngIf="activities.length < 5">
<span *ngFor="let activity of activities" class="activity__emoji"
(click)="detailChildrenToReportTab(children.id, selectedDateTitle)">{{activity.emoji}}</span>
</div>
</div>
<div *ngIf="children.additionalDay">
Zusatzbetreuung {{children.description}}
</div>
<div *ngIf="children.reason">
{{children.reason}}
</div>
</ion-col>
<!-- kommentar kita col-3 -->
<ion-col col-5 [attr.col-6]="!displayCheckin ? '' : null">
<div>
<ion-textarea clearOnEdit="false" ion-row="5" [(ngModel)]="children.daycareComment"
(change)="commentDayCare(children.daycareComment, dateForDayOverView, children, day.presence_id)"
autosize placeholder="Bemerkung erfassen..."></ion-textarea>
</div>
<div class="parent-comment" *ngIf="children.parentComment">
<h3 class="parent-comment__title">Parent comment</h3>
<p claass="parent-comment__message">{{children.parentComment}}</p></div>
</ion-col>
<!-- status column col-1-->
<ion-col col-2>
<div>{{children.checkout}}</div>
<div *ngFor="let singleCheck of children.checkin; let jj = index">
<div *ngIf="singleCheck.inorout == '1'">
Checkin: {{ singleCheck.timestampInorout }}
</div>
<div *ngIf="singleCheck.inorout == '0'">
Checkout: {{ singleCheck.timestampInorout }}
</div>
</div>
</ion-col>
<!-- *ngIf="children.checking.inorout == '0'" -->
<ion-col col-1 class="more"
*ngIf="children.checkin || children.checkin !== undefined || children.checkin !== null">
<button style="background-color: transparent" icon-only (click)="openStatusModal(children)">
<ion-icon style="color: black; font-size: 2.75rem" name="more"></ion-icon>
</button>
</ion-col>
<ion-col class="col--center" col-2 *ngIf="displayCheckin">
<div *ngIf="children.reason; then checkAway else checkNormal"></div>
<ng-template #checkAway>
<button *ngIf="!children.disabled" ion-button class="toggleCheck"
(click)='newCheckInCheckOut(dateForDayOverView, children, day)' color="light"
>Einchecken</button>
</ng-template>
<ng-template #checkNormal>
<button *ngIf="!children.disabled" ion-button class="toggleCheck"
(click)='newCheckInCheckOut(dateForDayOverView, children, day)' color="green"
>Einchecken</button>
</ng-template>
<button *ngIf="children.disabled" ion-button class="toggleCheck"
(click)='newCheckInCheckOut(dateForDayOverView, children, day)' color="danger">Auschecken</button>
</ion-col>
</ion-row>
</ion-card-content>
</ion-card>
</div>
</ion-grid>
解决方案
推荐阅读
- python - 加速嵌套循环中的浮点计算(如果可能,使用 CUDA)
- python - 使用 BytesIO 将枕头中的图像加载到 PyGame
- ruby - Ruby中字符串编码方法中的参数
- flutter - 在 Flutter 中合并音频文件和视频文件
- python - 为什么这个列表理解比在 Python 中使用 for 循环有条件地初始化慢?
- web-scraping - 当scrapy爬虫导致一些错误时,是否有自动停止爬虫的方法?
- go - 如何在 Golang 中编写 poll 或 epoll 服务器?
- sql - SQL 计数出现为 0
- react-native - 谷歌地图在 react-native-gifted-chat 上闪烁
- python - API POST 请求 - Google 脚本的 Python 示例 - “JSON 输入意外结束”