JQ 封装一个自动轮播图的方法
2017-02-27 16:25
183 查看
<div id="box">
<ul>
<li><img src="img/01.jpg"</li>
<li><img src="img/02.jpg"</li>
<li><img src="img/03.jpg"</li>
<li><img src="img/04.jpg"</li>
<li><img src="img/05.jpg"</li>
</ul>
<p>
<span class="active">1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
</p>
</div>
// 封装一个slide方法 此时$(this)指向的是调用它的对象
$.fn.slide = function () {
var oUl = $(this).children("ul"); //children() 返回的仅仅是儿子辈,参数是选填项
var aSpan = $(this).find("span"); // find() 返回的是所有的子孙辈,参数为必填项
var num = 0;
var timer = null;
// 鼠标移动上去,图片切换
aSpan.each(function (i) {
$(this).mouseover(function () {
aSpan.removeClass("active");
$(this).addClass("active");
num = i; //当鼠标移上去的时候改变的是num的值,这样移开后计时器会按照这个num值继续走
oUl.css("top", -(172 * num)); // 图片的高度是172px
});
});
// 鼠标移上去,计时器停止,移开继续;
$(this).mouseover(function () {
clearInterval(timer);
}).mouseout(function () {
autoplay();
})
// 自动切换
function autoplay() {
timer = setInterval(function () {
num++;
num %= aSpan.length;
aSpan.removeClass("active");
oUl.css("top", -(172 * num));
aSpan.eq(num).addClass("active");
}, 1000);
};
autoplay();
};
$(function () {
// 使用方法
$("#box").slide();
});
相关文章推荐
- Js新手:Jq封装写方法小结·轮播控件·基础
- 页面加载完成后自动执行一个方法函数的JQ、JS方法
- 页面加载完成后自动执行一个方法函数的JQ、JS方法
- 轮播图封装,使用时只需调用一个方法解决
- 【福利】一个简单实用的JQ轮播效果封装函数
- 页面加载完成后自动执行一个方法函数的JQ和JS方法
- 一个空间绑定多个域名实现自动跳转的几种方法!
- 绝对定位的DIV宽度自动适应的一个方法
- js defineSetter -给js的 "class"自动增加一个set的属性(方法)
- 使用 MSIL 为 Enum.HasFlag 封装一个泛型的扩展方法
- 封装了一个自动生成渐变字的JS类(clip)
- 封装了一个自动生成渐变字的JS类(clip)
- Java中 每个类在没有声明构造方法的前提下,会自动生成一个不带参数的构造方法
- toString()一个会自动调用的方法
- IIS启动,就自动执行一个WCF服务方法的解决方案实现的疑问?
- 自己封装的一个ASP.NET上传文件的方法
- js defineSetter -给js的 "class"自动增加一个set的属性(方法)
- 送写毕业设计同学一个自动生成数据字典的方法
- 一个自动加载托管ARX的方法
- 使用ADSI、ASP和一对魔术戏法自动地创立一个虚拟目录的方法