JQueryfocusmapplug-inSaySlide

首先,介绍sayslide 2支持以下功能:

1、上下打和jQuery的淡出,方向slideup,隐藏效果;
2。自动播放间隔和动画的速度。
三.标题是否显示;
4。是否在新窗口中打开链接;
5。它显示底部半透明背景吗;
6、该按钮在底部的位置(左中);
7,按钮是默认的背景色。
8,按钮激活状态颜色;
9,设置标题的风格风格;
10、触发按钮事件;


下面是关键代码,供大家分享,供大家参考,具体代码如下


(函数($){)
美元。FN。sayslide =功能(选项){
var默认值= {
该:3000 / /自动播放时间间隔
速度:500 开关速度
Autodir:'rl,LR / /自动打方向,从左到右,左右,TB BT,jQuery,与jq.fadeout,jq.slideup,jq.hide:动画
IsTitle:假 / /是否显示标题
IsBlank:真 / /是否在新窗口中打开链接
IsBottombg:真的/在半透明的背景下所示,设置效果只在istitle假
defaultbg:# 999999 / /定义底部的默认颜色键
currentbg:# ffffff / /定义按钮在激活状态下的颜色
btnalign:中心 / /按钮从左到右,左,右的中心,
字体大小:14px
};
无功_this =美元(这),len = _this.children长度,_thischildren();
选项。宽度= _this.width(0)| |;
选项。高度= _this.height(0)| |;
选项。IMGS =选项。imgso = _this.children();
选项。nowimg = 0;
options.islink = $(选项。IMGS { 0 })。Attr(href)=未定义的错误:真实; / /第一幅图是根据href属性来判断是否添加到图片链接
var选项=扩展(默认值,选项);
开关(选项。autodir){
案例LR:选项;
案例RL:选项;
案例BT:选项;
案例TB:选项;
违约:
如果( / JQ 。 /。测试(选项。autodir)){
选项。JQ = options.autodir.slice(3);
选项。autodir =JQ;
其他{ }
警报(autodir参数不正确);
}
}
无功sayslide =功能(选配){
这个选项;
}
sayslide。原型= {
_init:函数(){
This.BulkImgs();
This.AutoPlay();
This.PausePlay();
This.BtnClick();
},
BoxBtn:函数(){
我this.opt VaR,boxhtml =;
对于(var i = 0;i < i;i + +){
VaR BG =我= = 0me currentbg:me.defaultbg;
boxhtml + =;
}
VaR TextAlign =我。istitle = =真正的权利:me.btnalign;
boxhtml =+ +boxhtml;
返回boxhtml;
},
BulkImgs:函数(){
我this.opt VaR,imgsarr =新的数组;
对于(var i = 0;i < i;i + +){
如果(我= = =真。IsLink){
VaR的链接(我=美元。IMGS {我})。Attr({宽度:我的宽度,高度:我身高})。Attr(href);
(我的美元。IMGS {我})。RemoveAttr(href);
我imgsarr { } = +我。IMGS {我} outerHTML +;
其他{ }
(我的美元。IMGS {我})。Attr({宽度:我的宽度,高度:我身高});
ImgsArr{i}= +me.Imgs{i}.outerHTML+'';
}
}
如果(我autodir = =LR我。autodir = =肺结核| | | |我。autodir = =JQ){
无功imgsstr = imgsarr.reverse()和();
其他{ }
无功imgsstr = imgsarr.join('');
}
_this.html(imgsstr);
我_this.children IMGS =();
如果(me.autodir!=JQ){
_this.wrapinner();
_thischildren = _this.children(div.sayslide-box );
无功divwidth =我。autodir = =LR我。autodir = =RL我。宽*长| |宽度:我;
_thischildren.width(divwidth)。Css(me.pos,0 );
其他{ }
_this.addclass(sayslide褪色);
}
无功opacitybg =我。isbottombg = = = = = =真我。istitle真| | ':'; / /如果标题,是一个透明的背景力量的显示
_this.append(this.boxbtn()+ opacitybg);
我btnarr = _this.find(我);
如果(我istitle = = = true){
This.BuildTitle();
}
},
标题结构
buildtitle:函数(){
无功_w = 14 *莱恩,我this.opt;
_w = me.width - _w -20-40;
_this.append(' ');
我titlebox = _this.children(div.sayslide-title)。Css({字体大小:me.fontsize,宽度:_w });
me.titlebox.text($(我imgso { 0 })。Attr(ALT));
},
自动播放
自动播放:函数(){
VaR自这,我this.opt;
自我。T = setInterval(){()函数(
Self.PicPlay();
},我该);
},
当鼠标通过清晰的计时时/
PausePlay:函数(){
var =;
_this.hover(函数(){()
clearInterval(自我的。);
}函数(){()
Self.AutoPlay();
});
},
PicPlay:函数(){
我this.opt VaR;
如果(我autodir = =RL我。autodir = =BT| |){
This.MoveV(我autodir);
} else if(我autodir = =LR我。autodir = =肺结核| |){
This.MoveH(我autodir);
} else if(我autodir = =JQ){
This.MovejQ();
}
无功电流= me.nowimg > len-1 0:me.nowimg;
(我btnarr美元。{现在})。Css(背景颜色
如果(我istitle = = = true){
me.titlebox.text($(我。ImgsO {现在})。Attr(ALT));
}
},
单击按钮
BtnClick:函数(){
VaR自这,我this.opt;
_this.delegate(我
VaR点击= parseInt($(this)。Attr(指数));
我nowimg =点击;
如果(我autodir = =RL我。autodir = =BT| |){
无功previmgs = _thischildren.find({指数=+点击+ })(。prevall);
previmgs =美元。makearray(previmgs)反();
_thischildren.css(me.pos,0 );
(previmgs美元)。AppendTo(_thischildren);
} else if(我autodir = =LR我。autodir = =肺结核| |){
无功previmgs = _thischildren.find({指数=+点击+ })(。nextall);
_thischildren.css(me.pos,0 );
(previmgs美元)。PrependTo(_thischildren);
} else if(我autodir = =JQ){
无功previmgs = _this.find({指数=+点击+ })。NextAll();
PrevImgs.prependTo(_this);
}
$(这个)Css(背景色
});
},
*从右到左玩,玩。从底部到顶部
MoveV:功能(型){
我this.opt VaR,电流;
me.nowimg =我。nowimg + 1 >镜头1:我nowimg + 1;
me.nowimg电流= 1;
如果(type = ){{){
_thischildren.animate({左:+我。宽度},me.speed,函数(){()
(我目前美元。IMGS { })。AppendTo($(this));
美元(这个)。Css(左)
});
否则如果(type = bt){
_thischildren.animate({顶:+我。高度},me.speed,函数(){()
(我目前美元。IMGS { })。AppendTo($(this));
美元(这个)。Css(顶部)
});
}
},
/淡入淡出
MovejQ:函数(){
我this.opt VaR,电流;
me.nowimg =我。nowimg + 1 > len-1 0:我nowimg + 1;
电流=莱恩- me.nowimg =镜头0:len-me.nowimg;
VaR arg1 = me.speed;
Var(2 =功能){ $(this)。PrependTo(_this)(显示);};
如果(我。JQ = =淡出){
(我目前美元。IMGS { })。FadeOut(arg1,arg2);
} else if(我。JQ = =隐藏){
(我目前美元。IMGS { })(arg1,arg2)。隐藏;
} else if(我。JQ = =slideup ){
(我目前美元。IMGS { })。SlideUp(arg1,arg2);
其他{ }
返回;
}

},
从左到右播放,从上到下播放。
MoveH:功能(型){
我this.opt VaR,电流;
me.nowimg =我。nowimg + 1 > len-1 0:我nowimg + 1;
电流=莱恩- me.nowimg =镜头0:len-me.nowimg;
如果(type = ){
_thischildren.animate({右:+我。宽度},me.speed,函数(){()
(我目前美元。IMGS { })。PrependTo($(this));
美元(这个)。Css(右)
});
否则如果(type = TB ){
_thischildren.animate({底:+我。高度},me.speed,函数(){()
(我目前美元。IMGS { })。PrependTo($(this));
$(这个)。Css(底部)
});
}
}
}
无功_sayslide =新sayslide(选项);
_sayslide _init();
}
}(jQuery);



以上是焦点图插件sayslide关键代码,代码注释,希望能帮助你学习。