当前位置:  编程技术>jquery

jquery插件实例处女座图片轮播

    来源: 互联网  发布时间:2014-10-08

    本文导语:  jquery插件实例处女座图片轮播 好久没写博客了,变得好懒呀,无地自容。最近一直在学sass和jq插件的写法,照猫画虎的谢了一个jq的插件,也算是第一次真正称得上插件的插件。 1,jquery代码   代码示例: (function($) {     $.fn...

jquery插件实例处女座图片轮播

好久没写博客了,变得好懒呀,无地自容。最近一直在学sass和jq插件的写法,照猫画虎的谢了一个jq的插件,也算是第一次真正称得上插件的插件。

1,jquery代码
 

代码示例:

(function($) {
    $.fn.carousel = function(options) {    
        if($(this).length==0)return false;
        var opts = $.extend({},$.fn.carousel.defaults,options);
        function Slide(o){
            this.o = o;
            this.box = o.find(opts['imgbox']);
            this.cirEle = this.box.find(opts['cirEle'])
            this.nav = o.find(opts['slideNav']);
            this.rightAr = o.find(opts['rightAr']);
            this.leftAr = o.find(opts['leftAr']);
            this.et = opts['eventType'];
            this.autoPlay = opts['autoPlay'];
            this.navClass = opts['navClass'];
            this.speed = opts['speed']
            this.timer = null;
            this.len = this.cirEle.length;
            this.cirNavEle = null;
            this.onOff = true;
            this.activeIndex = 0;
            this.iNow = 0;
            this.boxWidth = this.box.outerWidth()
        }

        Slide.prototype.init = function(){
            var _this = this;
            _this.createNav().togglePage();
            this.leftAr.on('click',function(){
                _this.play(1);
               
            })
            this.rightAr.on('click',function(){
                _this.play();
            })

            if(this.autoPlay){
                this.stop();
                this.timer = setInterval(function(){
                    _this.play();
                },this.speed[1]);

                this.o.hover(function(){
                    _this.stop();
                },function(){
                    _this.timer = setInterval(function(){
                        _this.play();
                    },_this.speed[1])
                })
            }
        }
        Slide.prototype.createNav = function(){
            var _this = this;
            var arr = [];
            $.each(_this.cirEle,function(i,n){
                if(i == 0){
                    arr.push(''+ (i+1) +'');
                }else{                  
                    arr.push(''+ (i+1) +'');
                     _this.cirEle.eq(i).css({'left':_this.boxWidth});
                }
            });

            _this.nav.html(arr.join(''));
            this.cirNavEle = _this.nav.find('span');
            return this;
        }
        Slide.prototype.togglePage = function(){
            var _this = this;
            this.cirNavEle.on(_this.et,function(){
                if(_this.onOff){
                    _this.onOff = false;
                   
                    _this.activeIndex = $(this).index();
                   
                    $(this).addClass(_this.navClass).siblings().removeClass(_this.navClass);             
               
                    if(_this.activeIndex > _this.iNow){
                        _this.toggleRight();
                       
                    }else if( _this.activeIndex < _this.iNow ){
                        _this.toggleLeft();
                    }
                    _this.cirEle.eq(_this.activeIndex).animate({'left':0},_this.speed[0],function(){                      
                           _this.onOff = true;
                           $(this).css({'z-index':1}).siblings().css({'z-index':0})
                    })
                   
                    _this.iNow = _this.activeIndex;
                }
            })
            return this;
        }
        Slide.prototype.toggleLeft= function(){
            var _this = this;
            _this.cirEle.eq(_this.activeIndex).css({'left':-_this.boxWidth})                      
            _this.cirEle.eq(_this.iNow).animate({'left':_this.boxWidth},_this.speed[0])
        }
         Slide.prototype.toggleRight= function(){
             var _this = this;
            _this.cirEle.eq(_this.activeIndex).css({'left':_this.boxWidth})                       
            _this.cirEle.eq(_this.iNow).animate({'left':-_this.boxWidth},_this.speed[0])
        }
       
        Slide.prototype.play = function(dir){
            var _this = this;
            if(_this.onOff){
                _this.onOff = false;
                if(!dir){
                    _this.activeIndex++;
                    _this.activeIndex %= _this.len;
                    _this.toggleRight();
                  
                }else{
                    _this.activeIndex--;
                    if(_this.activeIndex


    
 
 

您可能感兴趣的文章:

  • jquery插件jquery倒计时插件分享
  • jQuery图片轮换插件 jQuery Dynamic Slideshow
  • jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
  • jQuery 内容滑动插件 Basic jQuery Slider
  • jQuery圆角插件 jQuery Corners
  • jQuery右键菜单插件 jQuery ContextMenu
  • jQuery日历插件 jQuery Week Calendar
  • jQuery实现CSS3动画效果的插件 jQuery Transit
  • jQuery消息提醒插件 jQuery Notty
  • jQuery无限幻灯片插件 jQuery Carousel
  • jQuery多值输入插件 jQuery Manifest
  • jQuery向导插件 Jquery Wizard Plugin
  • jQuery相册插件 jQuery.popeye
  • jQuery的中文日历插件 jQuery.datePickerCn
  • jQuery的气泡提示插件 jquery.ns_bub.js
  • jQuery对话框插件 jquery.modalbox
  • jQuery的OpenSocial插件 OpenSocial jQuery
  • jQuery链接插件 jquery.biggerlink
  • 在线客服jQuery 插件 jQuery.onServ
  • jQuery日历插件 jQuery Verbose Calendar
  • jquery使用jquery.zclip插件复制对象的实例教程
  • jQuery滚动效果插件 jQuery.SerialScroll iis7站长之家
  • jquery检验实例-改变错误提示信息的位置
  • textarea显示成label的样式 jquery实例
  • jQuery实现回车键(Enter)切换文本框焦点的代码实例
  • jquery修改属性值实例代码(设置属性值)
  • Jquery each方法跳出循环,并获取返回值(实例讲解)
  • jquery等宽输出文字插件的实例代码
  • jquery 回车事件的实例分享
  • jquery 获取dom固定元素 添加样式的简单实例
  • Jquery 获取元素位置序号的实例代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 通过javascript库JQuery实现页面跳转功能代码
  • jQuery鼠标动画插件 jquery-ahover
  • jQuery概述,代码举例及最新版下载
  • jQuery UI组件 jQuery UI
  • Jquery操作html复选框checkbox:全选,全不选和反选
  • jQuery分页插件 Pagination jQuery Plugin
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • jQuery的CSV插件 jQuery CSV
  • jQuery气泡提示插件 jquery-rollover-tooltip
  • jQuery对话框 jQuery Modal Dialog
  • jQuery 插件 jQuery Ripples
  • 精简版的jQuery jQuery.ish
  • jQuery虚拟键盘 jQuery Keypad
  • jQuery滚动效果插件 jQuery.SerialScroll
  • jQuery电子表格插件 jQuery.sheet
  • jQuery日期选择插件 jQuery UI Datepicker
  • jQuery分页插件 jQuery Pagination
  • jQuery表单验证插件 jQuery.validity
  • jQuery条形码插件 jQuery Barcode
  • jQuery 星级评分插件 jQuery Raty
  • jQuery动态背景插件 jQuery.spritely




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3