初学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就想跃跃欲试:而 ...
随机推荐
- Angularjs快速入门(四)-css类和样式
例子: .error{background-color:red;} .warning{background-color:yellow;} <div ng-controller='HeaderCo ...
- 八种创建等高列布局【出自w3c】
高度相等列在Web页面设计中永远是一个网页设计师的需求.如果所有列都有相同的背景色,高度相等还是不相等都无关紧要,因为你只要在这些列的父元素中设置一个背景色就可以了.但是,如果一个或多个列需要单独设置 ...
- NodeJS 事件循环
Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发. Node.j ...
- Centos6.5 rpm方式指定目录安装JDK
第一步:下载jdk本例使用jdk-7u5-linux-i586.rpm包,登陆到http://www.java.com下载即可. 第二步:检查文件权限及安装情况1.以root权限登陆系统,查看并修改使 ...
- 【算法系列学习】codeforces D. Mike and distribution 二维贪心
http://codeforces.com/contest/798/problem/D http://blog.csdn.net/yasola/article/details/70477816 对于二 ...
- web开发中,post与get的区别
区别: 1.Get是从服务器上获取数据,Post是向服务器传送数据. 2.Get是把参数数据队列加到提交表单的Action属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.Post是 ...
- 关于vector push_back()与其他方式读取数据的效率对比
引言: 在读取大量数据(数组)时,使用vector会尽量保证不会炸空间(MLE),但是相比于scanf的读取方式会慢上不少.但到底效率相差有多大,我们将通过对比测试得到结果. 测试数据:利用srand ...
- javascript函数作用域及this指向详解
一.先说一个简单的概念--变量提升: 通过function+函数名的方式,声明的函数,可以在代码中的任何位置调用: 通过var定义变量的方式,声明的函数,则必须在声明之后进行调用,原因就是在变量定义之 ...
- canvas-弧形可拖动进度条
一.效果如下: See the Pen XRmNRK by pangyongsheng (@pangyongsheng) on CodePen. 链接dome 二. 本文是实现可拖动滑块实现的基本,及 ...
- hdu1420 Prepared for New Acmer 简单数学
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1420 简单数学题 第一次wa在可能和会出现取模后值为负数的情况. 只要会一个数论上的简单公式(a*b) ...