我有一个项目列表:CSS折叠项目向上和向下的动画
其中,我想用一个动画效果倒塌,只显示一个项目:
正如您所看到的,目前它折叠为一个项目,但整个组件不会折叠。
我目前只是项目的不透明度设置为零:
CSS
.slide-fade-hide {
transition: all 1.2s ease-out;
opacity: 0;
//height: 2em;
}
.slide-fade-show {
transition: all 1.2s ease-in;
opacity: 1;
//height: 2em;
}
HTML
<ion-list>
<ion-row>
<ion-col>
<div id="search">
<ion-searchbar class="ion-searchtext" id="ion-searchtext" [(ngModel)]="searchQueryText" (ionFocus)="focusSearch($event)" (change)="onChangeText($event)"
(ionClear)="onCancelText($event)" (ionInput)="onInputText($event)" placeholder="{{jobType === 0 ? favourite ? 'Market Favourites' : 'Market' : favourite ? 'Postings Favourites' : 'Postings'}}"
debounce="1"></ion-searchbar>
</div>
<!--<div id="pinButton"><button ion-button (click)="presentPopover()" color="primary"><ion-icon name="funnel"></ion-icon></button></div>-->
</ion-col>
</ion-row>
<!--<div *ngIf="showExtraSearch === true">-->
<div id="extra-filter-items" class="slide-fade-hide">
<ion-row>
<ion-col>
<div id="location-filter">
<ion-searchbar id="ion-locationbar" [(ngModel)]="searchQueryLocation" (ionClear)="onCancelLocation($event)" (ionInput)="onInputLocation($event)"
(click)="presentFilterMap()" placeholder="Location" debounce="1"></ion-searchbar>
</div>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<div id="categories-filter">
<ion-searchbar id="ion-locationbar" [(ngModel)]="searchQuerySectors" (ionClear)="onCancelSectors($event)" (ionInput)="onInputSectors($event)"
(click)="presentFilterCategories()" placeholder="Sectors" debounce="1"></ion-searchbar>
</div>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<div id="rating-filter">
<ion-searchbar id="ion-locationbar" [(ngModel)]="searchQueryRating" (ionClear)="onCancelRating($event)" (ionInput)="onInputRating($event)"
(click)="presentFilterRating()" placeholder="Star Rating" debounce="1"></ion-searchbar>
</div>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<div id="time-filter">
<ion-searchbar id="ion-locationbar" [(ngModel)]="searchQueryTime" (ionClear)="onCancelTime($event)" (ionInput)="onInputTime($event)"
(click)="presentFilterTime()" placeholder="Last Online" debounce="1"></ion-searchbar>
</div>
</ion-col>
</ion-row>
</div>
</ion-list>
的JavaScript
showExtraFilters(): void {
let extraItemsElement = document.getElementById('extra-filter-items');
if (extraItemsElement) {
extraItemsElement.className = "slide-fade-show";
}
}
hideExtraFilters(): void {
let extraItemsElement = document.getElementById('extra-filter-items');
if (extraItemsElement) {
extraItemsElement.className = "slide-fade-hide";
}
}
问题
的项目是仍然存在,他们只是是透明的。
所以,如果我点击它们,他们仍然回应。
此外,他们仍然占用空间,所以dom的其余部分仍然在它下面。
问题
如何让项目从1项切换至5个项目与动画效果,如果他们向上滑动&下来?另外,当他们起身时,他们也释放他们下面的空间。
我确实看过this example(请参阅“向下滑动&淡出”),但正如您在上面所看到的,这并未达到我所需要的水平。
谢谢
p.s.我正在使用Ionic2,所以不想使用任何其他Javascript框架,如JQuery(只是简单的JavaScript和CSS)。
你应该有高度:0;因为当你想隐藏它来显示签约动画。 –
你可以创建一个小提琴吗? –
如上所述,您需要将高度设置为0.设置不透明度会更改其透明度,但不会影响其尺寸或在DOM中的位置。 – sn3ll