Custom Banner
Banner rotatorio personalizado en VueJS
Custom Banner Vue es un banner rotatorio de elementos, creado en lenguaje JavaScript, con distintas opciones de personalización y diseñado para el framework VueJS. Custom Banner es fácil y rápido de instalar mediante el gestor de paquetes npm y se compone de 3 elementos (imágenes o cadenas de texto). Este plugin ofrece una opción sencilla de implementar y adaptar en cualquier proyecto creado con VueJS con distintas opciones de configuración detalladas a continuación.
Instalación
npm install custom-banner-vue
Importar globalmente (main.js o similar)
import CustomBannerVue from 'custom-banner-vue';Vue.use(CustomBannerVue);
Importar localmente (componente)
import { CustomBannerVue } from 'custom-banner-vue';...export default {...components: {CustomBannerVue,}}
Añadir componente en el template
<template><div><custom-banner-vue :options="options"></custom-banner-vue></div></template>
Opciones de Configuración
2 opciones de orientación: horizontal y vertical. Horizontal es la opción establecida por defecto.
2 opciones: min o medium. Medium es la opción establecida por defecto.
Permite establecer la cantidad de animaciones y la combinación de elementos que realizan la rotación.
6 posibles transiciones:
width, height, top, left, rotate y opacity. La transición de opacidad es posible establecerla simultáneamente con cualquiera de las otras.
Tiempo establecido entre cada transición.
3 opciones de enlace de imágenes:
Ejemplo básico con imágenes
...data() {return {options:{orientation:"horizontal",images:[//folder public["img/image1.jpg","img/image2.jpg","img/image3.jpg"],//folder assets[require("@/assets/img/image1.jpg"),require("@/assets/img/image2.jpg"),require("@/assets/img/image3.png")],//absolute path["http://www.server/image1.jpg","http://www.server/image2.jpg","http://www.server/image3.jpg"]],}}},....
Ejemplo básico con textos
...options:{orientation:"vertical",texts:[["Regístrese ahora y obtendrá","un cupón de descuento de 5€","en su próxima compra"],["Si desea más información","póngase en contacto con uno","de nuestro asesores llamando al 606060606"],["Welcome to mydomain.com","browse the different sections"]],effects:{1:{modeText:true},2:{modeText:true},3:{modeText:true}}}...
Nota: Para activar los textos es necesario establecer el valor de la opción modeText a true en cada elemento.
Ejemplo de configuración de orden y transiciones
...options:{orientation:"vertical",size:"min",images:[["img/image1.jpg","img/image2.jpg","img/image3.jpg"],["img/image1.png","img/image2.png","img/image3.png"],["http://www.server/image1.jpg","http://www.server/image2.jpg","http://www.server/image3.jpg"]],effects:{1:{opacity:true,width:true,},2:{top:true},3:{rotate:true}},order:{0:[1,3],1:[2],2:[3],3:[1,2,3]......}},...
Ejemplo de imágenes y textos
...options:{orientation:"vertical",size:"min",images:[["img/image1.jpg","img/image2.jpg","img/image3.jpg"],["img/image1.png","img/image2.png","img/image3.png"],["http://www.server/image1.jpg","http://www.server/image2.jpg","http://www.server/image3.jpg"]],texts:[["Welcome to mydomain.com","browse the different sections"],[],[]],effects:{1:{opacity:true,width:true,modeText:true},2:{left:true},3:{opacity:true}},},...
Otras opciones de configuración
widthHTML: La opción widthHTML permite establecer un ancho fijo de las imágenes de cada elemento
...effects:{1:{opacity:true,width:true,widthHTML:120,},2:{left:truemodeText:true,},3:{opacity:true}},...
fontSizeStyle: La opción fontSizeStyle permite asignar un tamaño de texto fijo de los textos de cada elemento.
...effects:{1:{opacity:true,width:true,},2:{left:truemodeText:true,fontSizeStyle:"20px",},3:{opacity:true}}...
Este plugin permite establecer múltiples banners en un mismo componente, tan solo será necesario cambiar el nombre del objeto.
<custom-banner-vue :options="options"></custom-banner-vue>....<custom-banner-vue :options="options2"></custom-banner-vue>...<custom-banner-vue :options="options3"></custom-banner-vue>
CSS
Es posible modificar los estilos mediante las clases bh_banner, div_banner, img_banner apoyándose en la declaración !important.
Nota: Este plugin se encuentra todavía en fase beta, si encuentra algún error o mejora puede comunicarse con el autor mediante la sección de contacto, en la parte superior de este blog.
Puede acceder desde aquí a la publicación en npmjs.com.
Para poder comentar es necesario iniciar sesión