jq编写轮播插件
2016-08-24 21:40
357 查看
自己动手写了个插件,不过个人感觉思路不是特别好(别人十几行代码硬是让我写成了几十行。。哈哈,太水了,有待提高),不知道网上的是什么思路。不过也算是做出来了,还没有去认真学习JQ,暂时先这样吧,有空再去看下这个框架。以前觉得做前端比较容易上手,现在觉得做前端,想要精通,难啊~~~突然想回去做后台了
。
贴上代码:
。
贴上代码:
<ul > <li id="pre" class="pre"><</li> <li class="img show" ><img src="img/1.jpg"/></li> <li class="img" ><img src="img/2.jpg"/></li> <li class="img" ><img src="img/3.jpg"/></li> <li class="img" ><img src="img/1.jpg"/></li> <li class="img" ><img src="img/2.jpg"/></li> <li class="img" ><img src="img/3.jpg"/></li> <li id="next" class="next">></li> </ul>
$.extend({ set_slider:function(pic_w,time){ var img_list=$('.img'); var left; $(img_list[img_list.length-1]).css('z-index','1'); $(img_list[0]).css('z-index',img_list.length); $('#pre').click(function(){ if($('.show').prev().attr('class')=='img') //如果当前展示的图片的下一个LI仍然是图片LI { $('.show').css('z-index','3'); $('.show').prev().css('z-index','2'); var cur_left=parseInt($('.show').css('left'));//0 $('.show').prev().css('left',(parseInt(cur_left)-pic_w)+'px');//pic_w $('.show').animate({left:(cur_left+pic_w)+'px'},time);//-pic_w var new_show=$('.show').prev(); //$('.show').prev().addClass('show');//下一个元素成为了show $('.show').removeClass('show');//前一个移除了show $(new_show).addClass('show'); var next_left=parseInt($('.show').css('left'));//pic_w $('.show').animate({left:(next_left+pic_w)+'px'},time);//0 } else//如果已经是最后一张了,将其余的放在右边,并把第一张图为.show { $('.show').css('z-index','3'); $(img_list[img_list.length-1]).css('z-index','2'); var cur_left=parseInt($('.show').css('left'));//0 $(img_list[img_list.length-1]).css('left',(cur_left-pic_w)+'px'); $('.show').animate({left:(cur_left+pic_w)+'px'},time);//-pic_w $('.show').removeClass('show'); $(img_list[img_list.length-1]).addClass('show'); var next_left=parseInt($('.show').css('left'));//pic_w $('.show').animate({left:(next_left+pic_w)+'px'},time);//-pic_w } }); $('#next').click(function(){ if($('.show').next().attr('class')=='img') //如果当前展示的图片的下一个LI仍然是图片LI { $('.show').css('z-index','3'); $('.show').next().css('z-index','2'); var cur_left=parseInt($('.show').css('left'));//0 $('.show').next().css('left',(parseInt(cur_left)+pic_w)+'px');//pic_w $('.show').animate({left:(cur_left-pic_w)+'px'},time);//-pic_w var new_show=$('.show').next(); $('.show').removeClass('show');//前一个移除了show $(new_show).addClass('show');//下一个元素成为了show var next_left=parseInt($('.show').css('left'));//pic_w $('.show').animate({left:(next_left-pic_w)+'px'},time);//0 } else//如果已经是最后一张了,将其余的放在右边,并把第一张图为.show { $('.show').css('z-index','3'); $(img_list[0]).css('z-index','2'); var cur_left=parseInt($('.show').css('left'));//0 $('.show').animate({left:(cur_left-pic_w)+'px'},time);//-pic_w $('.show').removeClass('show'); $(img_list[0]).addClass('show'); $(img_list[0]).css('left',(cur_left+pic_w)+'px'); var next_left=parseInt($('.show').css('left'));//pic_w $('.show').animate({left:(next_left-pic_w)+'px'},time);//-pic_w } }); } });
$(function(){ $.set_slider(1902,100);//参数:第一个是设置的图片宽度,第二个为图片移动速度,单位为毫秒,样式没有通过参数去设置是为了更灵活//一点,任何东西封装得越是完整,就越失去了其灵活性,没有添加自动播放,可以自行添加setInterval方法,本博客只做学习记录,如若不屑,请到网上找大神的代码看也行。 });
相关文章推荐
- 268. Missing Number
- jQuery选择器
- 奇偶节点的排序和完全平方数问题
- 【垂直搜索引擎搭建15】HtmlParser中Filter方法(本地URL地址)
- 服务器server.cfg文件详解,配合L4D使用
- IceCTF 部分WP
- 【杭电oj1599】find the mincost route无向图最小环
- Qt qmake 构建 运行 都出错解决方法
- Hi3520d uImage制作 uboot制作 rootfs制作
- 微分方程_______Rower Bo( HDU 5761 2016多校第三场)
- Android实现类似微信的延迟加载的Fragment——LazyFragment
- C# 之委托与事件
- C++11中override的使用
- 威胁分析:Turla APT所用的多个IP隶属多家卫星服务运营商
- TV 颜色空间YUV
- 使用JDBC进行批处理
- AsyncTask解析
- IntelliJ IDEA 创建Java项目
- 单链表结构
- Left 4 Dead Server.cfg一些常用的参数