自己封装的轮播图
来源:互联网 发布:gekka睡眠面膜 知乎 编辑:程序博客网 时间:2024/05/19 06:49
刚开始写页面的时候没有用网上的插件,又因为赶时间没有考虑用户体验,更新迭代时候换掉了。
做法是将获取的图片复制然后添加到ul里,实现左右按钮切换时的无缝切换。
自己做个笔记,以后用到的话直接拿来用了。
var banner = {
num:0,
bstop:true,
maxnum:0,
slidernum:0
};
AJAX取到数据之后给变量赋值:
banner.maxnum = res.length;
banner.num = res.length;
//banner 轮播
$('.slider ul').on('click','li',function(){
if(banner.bstop){//避免多次触发
if(banner.num>=banner.maxnum){
banner.num = banner.num - banner.maxnum;
$('.banner ul').css('left','-'+banner.num*100+'%')
}
$(this).addClass('slider-on').siblings().removeClass('slider-on')
banner.num = $(this).index();
banner.slidernum = $(this).index();
banner.bstop = false
$('.banner ul').animate({'left':'-'+banner.num*100+'%'},1000,function(){
banner.bstop = true
})
}
})
$('#banner-container .r-button').click(function(){
if(banner.bstop){//避免多次触发
banner.bstop = false
banner.num++
banner.slidernum++
$('.banner ul').animate({'left':'-'+banner.num*100+'%'},1000,function(){
if(banner.slidernum>=banner.maxnum){
banner.slidernum = 0;
}
if(banner.num>=2*banner.maxnum-1){
banner.num = banner.maxnum-1;
$('.banner ul').css('left','-'+banner.num*100+'%')
}
$('.slider li').eq(banner.slidernum).addClass('slider-on').siblings().removeClass('slider-on')
banner.bstop = true;
})
}
});
$('#banner-container .l-button').click(function(){
if(banner.bstop){//避免多次触发
banner.bstop = false
if(banner.slidernum == 0){
banner.num = banner.maxnum
$('.banner ul').css('left','-'+banner.num*100+'%')
}
banner.num--
banner.slidernum--
$('.banner ul').animate({'left':'-'+banner.num*100+'%'},1000,function(){
if(banner.num<=0){
banner.num = banner.maxnum;
banner.slidernum = 0;
$('.banner ul').css('left','-'+banner.num*100+'%')
}
$('.slider li').eq(banner.slidernum).addClass('slider-on').siblings().removeClass('slider-on')
banner.bstop = true;
})
}
});
讲真,还是用插件的方便
- 自己封装的轮播图
- 自己封装的ajax
- 自己封装的泛型链表
- 封装自己的Framwork
- 封装自己的理解
- 自己封装的ajax
- MapList 自己封装的
- 封装自己的printf
- 封装自己的jquery
- 自己的jdbc轻封装
- 封装自己的socket类
- 自己封装的顺序表
- 自己封装的翻页控件
- 自己封装的ajax类
- 自己封装的简单多线程
- Java封装自己的Api
- 封装自己的日志函数
- 封装自己的js库
- MySQL主从复制的实现过程
- FTP服务
- 访问vector中的字符串并改变其值
- idea中Terminal终端无法执行GIT命令: touch README.md问题解决
- pe找不到硬盘怎么办
- 自己封装的轮播图
- 1.6. 最邻近算法
- 关于同一条TCP链接数据包到达顺序的问题
- Matplotlib调用imshow()函数绘制热图
- java类加载时机与过程
- 初探Android中Window与DecorView
- Matplotlib教程
- LVM
- Spring中模板模式和回调模式(二)