初学unslider
1.关于unslider下载
官方提供的下载页面是http://www.bootcss.com/p/unslider/,但总是进不了下载页面,所以我就查看主页的源码,找到unslider.min.js链接,复制出来下载。
2.我的第一个banner
主页的教程是:
1.引入jQuery 和 Unslider
<script src="//code.jquery.com/jquery-latest.min.js"></script>
<script src="//unslider.com/unslider.js"></script>
2.准备HTML代码
<div class="banner">
<ul>
<li>This is a slide.</li>
<li>This is another slide.</li>
<li>This is a final slide.</li>
</ul>
</div>
3.添加样式
.banner { position: relative; overflow: auto; }
.banner li { list-style: none; }
.banner ul li { float: left; }
4.调用unslider
$(function() {
$('.banner').unslider();
});
按照这个步骤我发现有一点小小的问题:在页面上什么也看不到,打开firebug能够看到确实是在滑动,我觉得是样式的问题,所以我把样式修改了一下,我把.banner加了一个背景色,又给下面的li标签也加了一个背景色和高度好让里面的字显示出来,这样分层也能很好地看出来,于是就变成了这样:
.banner {
position: relative;
overflow: auto;
background: #00f;
}
.banner li {
list-style: none;
}
.banner ul li {
float: left;
height: 200px;
background: #f00;
}
这样一改,.banner的背景变成了蓝色,li标签的背景变成了红色,还有一点分层的效果,字也能很清楚地看到。这样第一个banner效果就完成。
3.添加一些其他功能
当然,强大的unslider可不止这一点,接下来我要给banner下面加一个导航圆点。
我们在调用unslider的JS里面加入参数{dots: true},即需要导航,在浏览器中用firebug可以看到自动为banner加了一个叫has-dots的类,并且在ul标签后面加了一个ol标签,这个ol标签就是导航的结构,这些都是unslider的JS自动完成的,并不能在HTML源码里看到,接下来我们在firebug里找到和导航有关的类有.dots,.dot,.active,这样就去为这些类添加一些样式:
.dots {
position: absolute;
width: 100%;
text-align: center;
right: 0;
bottom: 20px;
}
.dots li {
display: inline-block;
width: 10px;
height: 10px;
margin: 0 4px;
text-indent: -999em;
border: 2px solid #fff;
border-radius: 6px;
cursor: pointer;
opacity: .4;
-webkit-transition: background .5s, opacity .5s;
-moz-transition: background .5s, opacity .5s;
transition: background .5s, opacity .5s;
}
.dots li.active {
background: #fff;
opacity: 1;
}
.dots必须要绝对定位,好让他能够浮在图片的上方,给他一个100%的宽度,并且在最右边,然后通过text-align使里面的小圆点居中,距离底部有个20PX距离。每一个小圆点设置一个宽、高和左右距离,再设置一个圆形的边框,就做出了一个小圆点,text-indent可以让里面的字不显示到我们的显示区域里来。最后给一个当前的样式。这样就完成 了小圆点导航。
其实小圆点还可以改成其他样式的,比如说方形或长条形,只需要改动他的宽、高和圆角就可以了,也可以更改颜色,或者在里面显示1、2、3这样的数字。
接下来是给banner加一个左右箭头的点击事件,自带有一个{arrows: true} ,但是这个很是不好看,我们准备自行弄一个图片,首先不调用原生的箭头,我们在ul标签前面加上:
<a href="javascript:void(0)" class="unslider-arrow prev"></a>
<a href="javascript:void(0)" class="unslider-arrow next"></a>
这两行代码就是可以点击控制banner的左右滑动的。接下来是要给他们添加样式:
.unslider-arrow {
display: block;
position: absolute;
top: 50%;
margin-top: -25px;
height: 50px;
width: 50px;
z-index: 3;
opacity: 0.7;
filter: alpha(opacity=70);
background-color: #303030;
background-image: url(../images/unslider-arrow.png);
background-repeat: no-repeat
}
.prev {
left: 0px;
background-position: 0 0
}
.next {
right: 0px;
background-position: right 0
}
同样是要绝对定位,然后距离上下的距离可以调整,左右箭头分开再写一个样式,这个就可以用自己的图片来完成箭头的工作,当然还有最后一步,在JS里面控制他们:
var unslider = $('.banner').unslider();
$('.unslider-arrow').click(function(){
var fn = this.className.split(' ')[1];
unslider.data('unslider')[fn]();
});
此段代码的意思就是当点击一个箭头时,获取到当前点击箭头的类名,这里只有"unslider-arrow prev"或"unslider-arrow next",然后把他通过空格转换成数组,再取数组的第二个元素,即为"prev"或"next"
最后其实是调用了unslider的data方法,换个方式看就是:unslider.data('unslider').prev()或unslider.data('unslider').next()即实现左右滑动。
4.总结
unslider还有另外一些参数,比如speed,delay,pause,keys,fluid等,可以调整速度,延迟,键盘控制和响应式,总的来说这是一个很不错的banner插件,而且大小不到3KB,非常好用,如果能把他的方法,属性弄清楚将会有很大的帮助。
初学unslider的更多相关文章
- DDD初学指南
去年就打算总结一下,结果新换的工作特别忙,就迟迟没有认真动手.主要内容是很多初学DDD甚至于学习很长时间的同学没有弄明白DDD是什么,适合什么情况.这世界上没有银弹,抛开了适合的场景孤立的去研究DDD ...
- gulp初学
原文地址:gulp初学 至于gulp与grunt的区别,用过的人都略知一二,总的来说就是2点: 1.gulp的gulpfile.js 配置简单而且更容易阅读和维护.之所以如此,是因为它们的工作方式不 ...
- 初学seaJs模块化开发,利用grunt打包,减少http请求
原文地址:初学seaJs模块化开发,利用grunt打包,减少http请求 未压缩合并的演示地址:demo2 学习seaJs的模块化开发,适合对seajs基础有所了解的同学看,目录结构 js — —di ...
- 初学Vue2.0--基础篇
概述: 鉴于本人初学,使用的编译器是webStorm,需添加对VUE的支持,添加方法可以参考 http://www.jianshu.com/p/142dae4f8b51. 起步: 1. 扎实的 Jav ...
- 初学Python
初学Python 1.Python初识 life is short you need python--龟叔名言 Python是一种简洁优美语法接近自然语言的一种全栈开发语言,由"龟叔&quo ...
- 图片轮播图插件的使用 unslider!!!
1.百度图片轮播图unslider,第一个就会出现jquery unslider轮播图,点击进去,下载网站提供的文件,解压,内部有我们需要使用的各种js,图片等. 2.在自己的eclipse或者int ...
- Unslider.js Tiny Sample
<!-- The HTML --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&g ...
- Javascript初学篇章_5(对象)
对象 Javascript是一种面向对象的语言,因此可以使用面向对象的思想来进行javascript程序设计对象就是由一些彼此相关的属性和方法集合在一起而构成的一个数据实体.举个例子,一只猫是个对象, ...
- 初学Objective-C语言需要了解的星星点点
其实大多数开发初学者都有一些相同的特点,可以说是一种“职业病”.Most有其他平台开发基础的初学者,看到Xcode就想摩拳擦掌:看到Interface Builder就想跃跃欲试:而 ...
随机推荐
- Hadoop安全机制之令牌
介绍 Hadoop中的安全机制包括认证和授权.而Hadoop RPC中采用SASL(Simple Authentication and Security Layer,简单认证和安全层)进行安全认证,具 ...
- NodeJS 阻塞/非阻塞
阻塞实例 var fs = require('fs'); var data = fs.readFileSync('test.txt') console.log(data.toString()); co ...
- 表单提交音乐文件(php)
利用点空闲时间来写个博客,最近做的项目中需要表单提交音频的,图片的,各种类型,把它存到数据库里,这里先来说一下音乐文件的表单提交吧,后几天再来更新输入数据库的,先看一下效果 点击浏览 就会出来预览,点 ...
- unity collider 和 trigger 触发条件
物体A,物体B(都含有collider组件) collider触发条件:A和B至少一方是 未勾选is Kinematic的rigidbody,且都未勾选 is trigger.当只有一方是rigid ...
- 如何使用MySQL触发器trigger
阅读目录:触发器trigger的使用 创建触发器 单一执行语句.多执行语句 new.old详解 查看触发器 删除触发器:慎用触发器,不用就删除 Q:什么是触发器? A: 触发器是与表有关的数据库对象, ...
- 根据优先关系矩阵使用逐次加一发构造优先函数(Java)
若已知运算符之间的优先关系,可按如下步骤构造优先函数: 1.对每个运算符a(包括#在内)令f(a)=g(a)=1 2.如果a⋗b且f(a)<=g(b)令f(a)=g(b)+1 3.如果a⋖b且f ...
- 镜像的缓存特性 - 每天5分钟玩转 Docker 容器技术(14)
上一节我们学习了镜像的分层结构,今天讨论镜像的缓存特性. Docker 会缓存已有镜像的镜像层,构建新镜像时,如果某镜像层已经存在,就直接使用,无需重新创建. 举例说明.在前面的 Dockerfile ...
- 开源框架是如何通过JMX来做监控的(一) - JMX简介和Standard MBean
相关文章目录: 开源框架是如何通过JMX来做监控的(一) - JMX简介和Standard MBean 开源框架是如何通过JMX来做监控的(二) - Druid连接池的监控 相信很多做Java开发的同 ...
- JEESZ-Redis分布式缓存安装和使用
独立缓存服务器: Linux CentOS Redis 版本: 3.0下面我们针对于Redis安装做下详细的记录:编译和安装所需的包:# yum install gcc tcl创建安装目录:# mkd ...
- PHP 底层的运行机制与原理 --转
发现一片总结的还不错的文章,记录一下 PHP说简单,但是要精通也不是一件简单的事.我们除了会使用之外,还得知道它底层的工作原理. PHP是一种适用于web开发的动态语言.具体点说,就是一个用C语言实现 ...