栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

jQuery焦点图插件SaySlide

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jQuery焦点图插件SaySlide

先来介绍SaySlide 2.0支持自定义如下功能:

  • 1、上下左右方向播放以及jQuery的fadeOut、slideUp、hide效果;
  • 2、自动播放时间间隔和动画播放的的速度;
  • 3、是否显示标题;
  • 4、是否在新窗口打开链接;
  • 5、是否显示底部半透明背景;
  • 6、按钮在底部显示的位置(左中右);
  • 7、按钮默认背景色;
  • 8、按钮激活状态颜色;
  • 9、设置标题文字的样式;
  • 10、触发按钮的事件;

下面就是重点的代码,分享给大家供大家参考,具体代码如下

(function($){
  $.fn.saySlide=function(options){
    var defaults={
      autoTime:3000,//自动播放时间间隔
      speed:500,//切换速度
      autodir:'RL',//自动播放方向,LR左到右,RL右到左,TB上到下,BT下到上, jQuery自带的动画:jq.fadeOut , jq.slideUp , jq.hide
      isTitle:false,//是否显示标题
      isBlank:true,//是否在新窗口打开链接
      isBottombg:true,//是否显示底部半透明背景,该设置只有在isTitle为false生效
      defaultBg:"#999999",//定义底部按钮默认颜色
      currentBg:"#ffffff",//定义底部按钮激活状态颜色
      btnAlign:"center",//按钮左中右位置,left,center,right
      fontSize:"14px"
    };
    var _this=$(this), len=_this.children().length, _thisChildren;
    options.Width=_this.width() || 0;
    options.Height=_this.height() || 0;
    options.Imgs=options.ImgsO=_this.children();
    options.nowImg=0;
    options.islink = $(options.Imgs[0]).attr("href") === undefined ? false : true; //根据第一张图片是否有href属性来判断是否给图片加上链接
    var options=$.extend(defaults,options);
    switch(options.autodir){
      case "LR":options.pos="right";break;
      case "RL":options.pos="left";break;
      case "BT":options.pos="top";break;
      case "TB":options.pos="bottom";break;
      default:
 if(/jq\./.test(options.autodir)){
   options.jq=options.autodir.slice(3);
   options.autodir="jq";
 }else{
   alert("autodir参数不正确");
 }
    }
    var SaySlide=function(opt){
      this.opt=opt;
    }
    SaySlide.prototype={
      _init:function(){
 this.BulkImgs();
 this.AutoPlay();
 this.PausePlay();
 this.BtnClick();
      },
      BoxBtn:function(){
 var me=this.opt, boxHtml='';
 for(var i=0;i';
 }
 var textAlign=me.isTitle==true ? "right" : me.btnAlign;
 boxHtml=''+ boxHtml +'';
 return boxHtml;
      },
      BulkImgs:function(){
 var me=this.opt, ImgsArr=new Array;
 for(var i=0;i len-1 ? 0 : me.nowImg;
 $(me.BtnArr[current]).css("background-color",me.currentBg).siblings().css("background-color",me.defaultBg);
 if(me.isTitle===true){
   me.titleBox.text($(me.ImgsO[current]).attr("alt"));
 }
      },
      
      BtnClick:function(){
 var self=this, me=this.opt;
 _this.delegate("i","click",function(){
   var clicked=parseInt($(this).attr("index"));
   me.nowImg=clicked;
   if(me.autodir=="RL" || me.autodir=="BT"){
     var prevImgs=_thisChildren.find("a[index='"+ clicked +"']").prevall();
     prevImgs=$.makeArray(prevImgs).reverse();
     _thisChildren.css(me.pos,"0");
     $(prevImgs).appendTo(_thisChildren);
   }else if(me.autodir=="LR" || me.autodir=="TB"){
     var prevImgs=_thisChildren.find("a[index='"+ clicked +"']").nextAll();
     _thisChildren.css(me.pos,"0");
     $(prevImgs).prependTo(_thisChildren);     
   }else if(me.autodir=="jq"){
     var prevImgs=_this.find("a[index='"+ clicked +"']").nextAll("a");
     prevImgs.prependTo(_this);
   }
   $(this).css("background-color",me.currentBg).siblings().css("background-color",me.defaultBg);
 });
      },
      
      MoveV:function(type){
 var me=this.opt, current;
 me.nowImg = me.nowImg+1 > len ? 1 : me.nowImg+1;
 current = me.nowImg - 1;
 if(type=="RL"){
   _thisChildren.animate({"left":"-"+me.Width},me.speed,function(){
     $(me.Imgs[current]).appendTo($(this));
     $(this).css("left","0");
   });
 }else if(type=="BT"){
   _thisChildren.animate({"top":"-"+me.Height},me.speed,function(){
     $(me.Imgs[current]).appendTo($(this));
     $(this).css("top","0");
   });
 }
      },
      
      MovejQ:function(){
 var me=this.opt, current;
 me.nowImg = me.nowImg+1 > len-1 ? 0 : me.nowImg+1;
 current = len - me.nowImg == len ? 0 : len-me.nowImg;
 var arg1=me.speed;
 var arg2=function(){$(this).prependTo(_this).show();};
 if(me.jq=="fadeOut"){
   $(me.Imgs[current]).fadeOut(arg1,arg2);
 }else if(me.jq=="hide"){
   $(me.Imgs[current]).hide(arg1,arg2);
 }else if(me.jq=="slideUp"){
   $(me.Imgs[current]).slideUp(arg1,arg2);
 }else{
   return ;
 }

      },
      
      MoveH:function(type){
 var me=this.opt, current;
 me.nowImg = me.nowImg+1 > len-1 ? 0 : me.nowImg+1;
 current = len - me.nowImg == len ? 0 : len-me.nowImg;
 if(type=="LR"){
   _thisChildren.animate({"right":"-"+me.Width},me.speed,function(){
     $(me.Imgs[current]).prependTo($(this));
     $(this).css("right","0");
   });
 }else if(type=="TB"){
   _thisChildren.animate({"bottom":"-"+me.Height},me.speed,function(){
     $(me.Imgs[current]).prependTo($(this));
     $(this).css("bottom","0");
   });
 }
      }
    }
    var _SaySlide=new SaySlide(options);
    _SaySlide._init();
  }
})(jQuery);

以上就是焦点图插件SaySlide的代码,对关键代码进行注释,希望对大家的学习有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/99211.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号