•  


GitHub - sanjayV/ng-image-slider: Angular Image Slider with Lightbox.
Skip to content

sanjayV/ng-image-slider

Repository files navigation

Angular Image Slider with Lightbox

An Angular responsive image slider with lightbox popup. Also support youtube and mp4 video urls.

(Compatible with Angular Version: 15)

Features!

  • Responsive (support images width and height in both % and px)
  • captures swipes from phones and tablets
  • Compatible with Angular Universal
  • Image lightbox popup
  • captures keyboard next/previous arrow key event for lightbox image move
  • Support Images (jpeg, jpg, gif, png and Base64-String), Youtube url and MP4 video (url and Base64-String)
  • Handling runtime image arraylist changes
code example:

Installation

npm install ng-image-slider --save

Setup :

Import module in your app.module.ts :

import
 {
 NgImageSliderModule
 }
 from
 'ng-image-slider'
;

...

@
NgModule
(
{

    declarations
: 
[

        AppComponent

    ]
,

    imports
: 
[

        NgImageSliderModule
,

        ...
    
]
,

    providers
: 
[
]
,

    bootstrap
: 
[
AppComponent
]

}
)


export
 class
 AppModule
 {

}

Add component in your template file.

<
ng-image-slider
 [images]
="
imageObject
" 
#nav
>
</
ng-image-slider
>

ImageObject format

imageObject: 
Array
<
object
>
 =
 [
{

        image
: 
'assets/img/slider/1.jpg'
,

        thumbImage
: 
'assets/img/slider/1_min.jpeg'
,

        alt
: 
'alt of image'
,

        title
: 
'title of image'

    }
,
 {

        image
: 
'.../iOe/xHHf4nf8AE75h3j1x64ZmZ//Z=='
,
 // Support base64 image

        thumbImage
: 
'.../iOe/xHHf4nf8AE75h3j1x64ZmZ//Z=='
,
 // Support base64 image

        title
: 
'Image title'
,
 //Optional: You can use this key if want to show image with title

        alt
: 
'Image alt'
,
 //Optional: You can use this key if want to show image with alt

        order
: 
1
 //Optional: if you pass this key then slider images will be arrange according @input: slideOrderType

    }

]
;

Image, Youtube and MP4 url's object format

imageObject: 
Array
<
object
>
 =
 [
{

       video
: 
'https://youtu.be/6pxRHBw-k8M'
 // Youtube url

   }
,

   {

   	video
: 
'assets/video/movie.mp4'
,
 // MP4 Video url

   }
,

   {

   	video
: 
'assets/video/movie2.mp4'
,

       posterImage
: 
'assets/img/slider/2_min.jpeg'
,
 //Optional: You can use this key if you want to show video poster image in slider

       title
: 
'Image title'

   }
,

   {

   	image
: 
'assets/img/slider/1.jpg'
,

       thumbImage
: 
'assets/img/slider/1_min.jpeg'
,

       alt
: 
'Image alt'

   }

   .
.
.

]
;

**Note :

For angular version 8 or less, use "skipLibCheck": true in tsconfig.json for prevent ambient context issue.

"compilerOptions"
: 
{

    "skipLibCheck"
: 
true

}

API Reference (optional) :

Name Type Data Type Description Default
infinite @Input boolean Infinite sliding images if value is true . false
imagePopup @Input boolean Enable image lightBox popup option on slider image click. true
animationSpeed @Input number By this user can set slider animation speed. Minimum value is 0.1 second and Maximum value is 5 second . 1
slideImage @Input number Set how many images will move on left/right arrow click. 1
imageSize @Input object Set slider images width, height and space. space is use for set space between slider images. Pass object like {width: '400px', height: '300px', space: 4} or you can pass value in percentage {width: '20%', height: '20%'} OR set only space {space: 4} {width: 205, height: 200, space: 3}
manageImageRatio @Input boolean Show images with aspect ratio if value is true and set imageSize width and height on parent div false
autoSlide @Input number/boolean/object Auto slide images according provided time interval. Option will work only if infinite option is true . For number data type minimum value is 1 second and Maximum value is 5 second. By object data type you can prevent auto slide stop behaviour on mouse hover event. {interval: 2, stopOnHover: false} 0
showArrow @Input boolean Hide/Show slider arrow buttons true
arrowKeyMove @Input boolean Disable slider and popup image left/right move on arrow key press event, if value is false true
videoAutoPlay @Input boolean Auto play popup video false
showVideoControls @Input boolean Hide video control if value is false true
direction @Input string Set text direction. You can pass rtl / ltr / auto ltr
slideOrderType @Input string Arrange slider images in Ascending order by ASC and in Descending order by DESC . order key must be exist with image object. ASC
lazyLoading @Input boolean Lazy load images and Iframe if true. false
defaultActiveImage @Input number Set image as selected on load. null
imageClick @Output n/a Executes when click event on slider image. Return image index. n/a
arrowClick @Output n/a Executes when click on slider left/right arrow. Returns current event name and next/previous button disabled status. n/a
lightboxClose @Output n/a Executes when lightbox close. n/a
lightboxArrowClick @Output n/a Executes when click on lightbox next/previous arrow. n/a

Add custom navigation button

import
 {
 NgImageSliderComponent
 }
 from
 'ng-image-slider'
;


@
Component
(
{

    selector
: 
'sample'
,

        template
:
`

        <ng-image-slider [images]="imageObject" #nav>

        </ng-image-slider>

        <button (click)="prevImageClick()">Prev</button>

        <button (click)="nextImageClick()">Next</button>

        `

}
)

class
 Sample
 {

    @
ViewChild
(
'nav'
)
 slider
: 
NgImageSliderComponent
;

    imageObject
 =
 [
{
...
}
]


    prevImageClick
(
)
 {

        this
.
slider
.
prev
(
)
;

    }


    nextImageClick
(
)
 {

        this
.
slider
.
next
(
)
;

    }

}

License

As Angular itself, this module is released under the permissive MIT license .

Your contributions and suggestions are always welcome :)

- "漢字路" 한글한자자동변환 서비스는 교육부 고전문헌국역지원사업의 지원으로 구축되었습니다.
- "漢字路" 한글한자자동변환 서비스는 전통문화연구회 "울산대학교한국어처리연구실 옥철영(IT융합전공)교수팀"에서 개발한 한글한자자동변환기를 바탕하여 지속적으로 공동 연구 개발하고 있는 서비스입니다.
- 현재 고유명사(인명, 지명등)을 비롯한 여러 변환오류가 있으며 이를 해결하고자 많은 연구 개발을 진행하고자 하고 있습니다. 이를 인지하시고 다른 곳에서 인용시 한자 변환 결과를 한번 더 검토하시고 사용해 주시기 바랍니다.
- 변환오류 및 건의,문의사항은 juntong@juntong.or.kr로 메일로 보내주시면 감사하겠습니다. .
Copyright ⓒ 2020 By '전통문화연구회(傳統文化硏究會)' All Rights reserved.
 한국   대만   중국   일본