Reputation: 558
Hi have been trying to achieve auto slide for Ionic 4 but it seems like is not working...below is the code
page.ts
=========
@ViewChild(IonSlides) slider: IonSlides;
options: {
autoplay: true
}
HTML
========
<ion-slides #IonSlides pager="true" [options]="options" (ionSlidesDidLoad)="stopSlideAutoplay()">
<ion-slide>
<ion-img src="assets/whitebg.svg"></ion-img>
</ion-slide>
<ion-slide>
<ion-img src="assets/whitebg.svg"></ion-img>
</ion-slide>
</ion-slides>
Upvotes: 2
Views: 4780
Reputation: 313
page.ts file:
import {IonSlides} from '@ionic/angular';
import {ViewChild } from '@angular/core';
export class page implements OnInit {
@ViewChild('mySlider') slider: IonSlides;
sliderOpts = {
autoplay: true,
speed: 1000,
zoom: {
maxRatio: 5
}
};
}
page.html file:
<ion-slides #mySlider pager="true"
[options]="sliderOpts" >
<ion-slide></ion-slide>
</ion-slides>
Upvotes: 8
Reputation: 5742
in your .ts file
import { Component, OnInit, ViewChild, ElementRef } from "@angular/core";
@ViewChild("slider", { read: ElementRef }) slider: ElementRef;
sliderOpts = {
autoplay: true,
zoom: {
maxRatio: 5
}
};
in html file
<ion-slides
(ionSlideDidChange)="slideChanged()"
#slider
[options]="sliderOpts"
>
<ion-slide>
<img class="images" src="assets/intro/welcomes.png" />
<p class="pt-page-rotatePullLeft pt-page-delay500 heading">
{{ "onboard.welcome" | translate }}
</p>
<p class="subtitles">{{ "onboard.welcomeSub" | translate }}</p>
</ion-slide>
<ion-slide>
<img class="images" src="assets/intro/payments.png" />
<p class="heading">{{ "onboard.pay" | translate }}</p>
<p class="subtitles">{{ "onboard.paySub" | translate }} <br /></p>
</ion-slide>
<ion-slide>
<img class="images" src="assets/intro/send.png" />
<p class="heading">{{ "onboard.send&received" | translate }}</p>
<p class="subtitles">
{{ "onboard.send&receivedSub" | translate }} <br />
{{ "onboard.send&receivedSub2" | translate }}
</p>
</ion-slide>
<ion-slide>
<img class="images" src="assets/intro/wallets.png" />
<p class="heading">{{ "onboard.wallet" | translate }}</p>
<p class="subtitles">{{ "onboard.walletSub" | translate }}</p>
</ion-slide>
</ion-slides>
Upvotes: 0
Reputation: 222552
Try this code by setting autoplay: true
,
<ion-slides [options]="sliderOpts" #slider>
<ion-slide>
<ion-img src="assets/whitebg.svg"></ion-img>
</ion-slide>
<ion-slide>
<ion-img src="assets/whitebg.svg"></ion-img>
</ion-slide>
</ion-slides>
and in TS
@ViewChild('slider', { read: ElementRef })slider: ElementRef;
img: any;
sliderOpts = {
autoplay: true,
zoom: {
maxRatio: 5
}
};
Upvotes: 2