Skip to content

Commit fc2cf6c

Browse files
committed
timer by slide
1 parent e8b6ca8 commit fc2cf6c

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

projects/slider/src/lib/models/IOptions.ts

+1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ import { AnimationType } from './animation-type.enum';
44
export interface IOptions {
55
animationType?: AnimationType;
66
bulletType?: BulletType;
7+
timeBySlide?: number;
78
}

projects/slider/src/lib/slider.component.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export class SliderComponent implements AfterViewInit, OnDestroy {
3535
isOnAnimation: boolean = false;
3636
isDragEvent: boolean = true;
3737
isDragging: boolean = false;
38+
timeBySlide: number;
3839

3940
bulletType = BulletType;
4041

@@ -44,12 +45,15 @@ export class SliderComponent implements AfterViewInit, OnDestroy {
4445

4546
ngAfterViewInit(): void {
4647
this.slidesNumber = this.slides.length;
48+
this.timeBySlide = (!this.option.timeBySlide || (this.option.timeBySlide < 2000)) ? 5000 : this.option.timeBySlide;
4749
this.sliderContainerElement = this.sliderSection.nativeElement as HTMLElement;
4850
this.movementInterval = window.setInterval(() => {
49-
}, 500);
51+
const newPos = (this.currentSlidePos === this.slidesNumber) ? 1 : this.currentSlidePos + 1;
52+
this.setSlideWidthAnimation(newPos);
53+
}, this.timeBySlide);
5054
}
5155

52-
ngOnDestroy() {
56+
ngOnDestroy(): void {
5357
clearInterval(this.movementInterval);
5458
}
5559

0 commit comments

Comments
 (0)