前提:下载插件(官网下载地址:/请用IE打开,chrome可能打不开;其他下载地址:点击打开链接),并引入flexslider.css和jquery.flexslider-min.js文件(缺一不可)
<link rel="stylesheet" href="../../common/css/flexslider.css" /><script type="text/javascript" src="../../common/js/jquery.flexslider-min.js"></script>
核心:
html代码:
<div id="slider" class="flexslider "> <!-- 固定写法 --><ul class="slides"> <!--固定写法--><li class="images"><img src="../src/images/bg1.jpg" /></li><li class="images"><img src="../src/images/bg3.jpg" /></li></ul></div>
js代码:
$('#slider').flexslider({ animation: "solid", //动画效果animationLoop: true, //是否循环播放controlNav: true,directionNav: false,startAt: 0, // Integer: 开始播放的 slide,从 0 开始计数slideshow: true, // Boolean: 是否自动播放slideshowSpeed: 3000, // Integer: ms 滚动间隔时间animationSpeed: 600, // Integer: ms 动画滚动速度direction: "horizontal", // String: 滚动方向 ["horizontal"|"vertical"]prevText:' <img src="../../common/img/prev.png">', // String: 上一个按钮文字(),nextText: '<img src="../../common/img/next.png">', // String: 下一个按钮文字after:function(slider){//加载完成后回调函数// console.log(slider)}
效果:
默认参数说明(此处引用amazeUI 文档,地址 /javascript/slider):
animation: "slide", // String: ["fade"|"slide"],动画效果easing: "swing",// String: 滚动动画计时函数direction: "horizontal", // String: 滚动方向 ["horizontal"|"vertical"]reverse: false, // Boolean: 翻转 slide 运动方向animationLoop: true, // Boolean: 是否循环播放smoothHeight: false, // Boolean: 当 slide 图片比例不一样时// "true": 父类自动适应图片高度// "false": 不自动适应,父类高度为图片的最高高度,默认为falsestartAt: 0, // Integer: 开始播放的 slide,从 0 开始计数slideshow: true,// Boolean: 是否自动播放slideshowSpeed: 5000, // Integer: ms 滚动间隔时间animationSpeed: 600, // Integer: ms 动画滚动速度initDelay: 0, // Integer: ms 首次执行动画的延迟randomize: false,// Boolean: 是否随机 slide 顺序// Usability featurespauseOnAction: true, // Boolean: 用户操作时停止自动播放pauseOnHover: false, // Boolean: 悬停时暂停自动播放useCSS: true, // Boolean: 是否使用 css3 transitiontouch: true,// Boolean: 允许触摸屏触摸滑动滑块video: false, // Boolean: 使用视频的 slider,防止 CSS3 3D 变换毛刺// Primary ControlscontrolNav: true,// Boolean: 是否创建控制点directionNav: true, // Boolean: 是否创建上/下一个按钮(previous/next)prevText: "Previous", // String: 上一个按钮文字,可为html元素nextText: "Next",// String: 下一个按钮文字,可为html元素// Secondary Navigationkeyboard: true, // Boolean: 是否开启键盘左(←)右(→)控制multipleKeyboard: false, // Boolean: 是否允许键盘控制多个 slidemousewheel: true,// Boolean: 是否开启鼠标滚轮控制pausePlay: false,// Boolean: 是否创建暂停与播放按钮pauseText: 'Pause', // String: 暂停按钮文字playText: 'Play',// String: 播放按钮文字// Special propertiescontrolsContainer: "",// jQuery Object/SelectormanualControls: "", // jQuery Object/Selector 自定义控制 slider 的元素,// 如 "#tabs-nav li img",导航数量和 slide 数量一样sync: "", // Selector: 关联 slide 与 slide 之间的操作。asNavFor: "", // Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider// Carousel OptionsitemWidth: 0, // Integer: slide 宽度,多个同时滚动时设置itemMargin: 0, // Integer: slide 间距minItems: 1,// Integer: 最少显示 slide 数, 与 `itemWidth` 相关maxItems: 0,// Integer: 最多显示 slide 数, 与 `itemWidth` 相关move: 0, // Integer: 一次滚动移动的 slide 数量,0 - 滚动可见的 slide// Callback APIstart: function(){}, // Callback: function(slider) - 初始化完成的回调before: function(){}, // Callback: function(slider) - 每次滚动开始前的回调after: function(){}, // Callback: function(slider) - 每次滚动完成后的回调end: function(){}, // Callback: function(slider) - 执行到最后一个 slide 的回调added: function(){}, // Callback: function(slider) - slide 添加时触发removed: function(){} // Callback: function(slider) - slide 被移除时触发
拓展:
1、导航控制嵌入图片中
改变 css属性即可:.flex-control-nav{bottom:0px}
2、设置默认左右方向按钮样式
修改css属性.flex-direction-nav a {text-decoration: none;display: block;width: 40px;height: 48px;margin: -20px 0 0;position: absolute;top: 50%;z-index: 10;overflow: hidden;opacity: 0;cursor: pointer;/*color: rgba(0, 0, 0,0);*/background: url(../img/13.jpg) no-repeat;//看这里,看这里text-indent: -999em}
修改js,将prevText 和prevNext注释掉
图片13.jpg ,“右键--图片另存为”使用。