UNPKG

background-carousel

Version:

background-carousel is a simple vue mobile carousel plugin. By setting the aspect ratio of the carousel image, the carousel image component can occupy a place in advance before the image rendering is completed.The picture will be presented as div-backgrou

152 lines (129 loc) 3.72 kB
# background-carousel ## Purpose #### background-carousel is a simple vue mobile carousel plugin. By setting the aspect ratio of the carousel image, the carousel image component can occupy a place in advance before the image rendering is completed.The picture will be presented as div-background. ## Preview URL ```html https://sirjyz.github.io/background-carousel/dist/index.html ``` ## Quick start ``` npm install ``` ``` npm run serve ``` ## Usage #### Import components on pages that require carousel image component ##### app.vue: ```html <template> <div id="app"> <background-carousel :list="carouselList" list-key-name="id" list-img-name="src" padding-top="40%" :initial-index="1" :autoplay-time="4000" :transition-time="500" :loop="true" timing-function-name="linear" :showIndicators="true" indicator-color="red" @clickItem="handleClickItem" @change="handleChange" /> </div> </template> ``` ```javascript export default { data() { return { carouselList: [ { id: 0, src: "https://images.pexels.com/photos/1352251/pexels-photo-1352251.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" }, { id: 1, src: "https://images.pexels.com/photos/1425174/pexels-photo-1425174.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" }, { id: 2, src: "https://images.pexels.com/photos/1352296/pexels-photo-1352296.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" } ] }; }, methods: { handleClickItem(e) { // console.log(e); }, handleChange(e) { // console.log(e); } } }; ``` ##### main.js ```javascript import Vue from "vue"; import BackgroundCarousel from "background-carousel"; Vue.use(BackgroundCarousel); ```` ## Props * list * type: Array * required: true * Description: List of pictures provided to the carousel component * listKeyName * type: String * required: true * Description: The value of v-bind: key in the loop of the carousel component list. For example,the list is [{imgId:0,img:'picName'}], then listKeyName is 'imgId'. * listImgName * type: String * required: true * Description: The key value of the picture in the cycle of the carousel component list. For example,the list is [{imgId:0,img:'picName'}], then listImgName is 'img'. * paddingTop * type: String * default: "50%" * Description: Picture aspect ratio * initialIndex * type: Number * default: 0 * Description: Which picture to show at the beginning * loop * type: Boolean * default: true * Description: Whether to enable loop * autoplayTime * type: Number * default: 3000 * Description: Time to switch pictures * transitionTime * type: Number * default: 300 * Description: Picture transform animation time * timingFunctionName * type: String * default: "linear" * Description: Transition-timing-function name. For example, 'ease-out' or 'ease-out'. * showIndicators * type: Boolean * default: true * Description: Whether to show the indicator * indicatorColor * type: String * default: "#fff" * Description: Indicator background color ## Methods * clickItem * Description: Trigger event when clicked * Callback parameter: event: Event * change * Description: Trigger event after the end of each carousel * Callback parameter: index(Index of current Picture)