/*! sudyslides jQuery Plugin 2013-12-14 *@ version 1.0 *@ sudytech NatLiu */ (function($){ var defaults, Plugin, defaultName; defaultName = "sudyslides"; /* *定义可选参数,并设置默认值 */ defaults = { width: 1000, height: 380, responsive: true, start: 1, speed: 500, easing: "swing", effect: "slide", limitEffects: false, trigger: "click", container: { active: true, target: ".slides-slide", title: true, intro: true, url: true }, navigation: { active: false, hideHover: false, prev: { target: ".slides-prev", title: "Previous", text: "<", trigger: false, effect: false }, next: { target: ".slides-next", title: "Next", text: '>', trigger: false, effect: false } }, pagination: { active: true, target: ".slides-page", trigger: false, effect: false }, controls: { active: false, handles: { /* thumb: { active: true, target: ".slides-thumb", trigger: false, effect: false } */ } }, keyboard: { active: false, effect: false }, mousewheel: { active: false, effect: false }, touch: { active: true, speed: false }, autoplay: { active: true, interval: 3000, effect: false, autostart: true, hoverPause: true, timer: { active: false, trigger: ".timer-cycle", action: { active: false, actionFn: function(interval,element){} } }, player: { active: false, play: { target: ".player-play", title : "autoPlay", text: "Play", trigger: false }, stop: { target: ".player-stop", title: "stopPlay", text: "Stop", trigger: false } } }, effects: { slide: { speed: false, easing: false, direction: "leftRight" }, fade: { speed: false, easing: false, crossfade: true }, drift: { speed: false, easing: false, direction: "left", fadeout: false }, grids: { speed: false, easing: false, cols:15, rows:1, isRandom: false, outCss: "opacity", autoGroup: false, flash: false } }, callback: { preload: function(element){}, loaded: function(index,element){}, begin: function(current,index,element){}, complete: function(index,element){} } }; /* *构建插件对象 */ Plugin = (function(){ function Plugin(element, defaults, settings, pluginName){ this.element = element; this.defaults = defaults; this.settings = $.extend(true,{},defaults,settings); this.pluginName = pluginName; this._setup(); } return Plugin; })(); /* *setup */ Plugin.prototype._setup = function(){ $(this.element).hide(); this.settings.callback.preload($(this.element)); this.init(); } /* *初始化插件 */ Plugin.prototype.init = function(){ var _this = this, $e = $(this.element), $o = this.settings, $n = this.pluginName, $effects = this.limitEffects(); var $slides = $($o.container.target, $e).length > 0 ? $($o.container.target, $e) : $e.children(); if($o.container.active && $slides.length > 0){ $e.addClass($n); $.data(this, "total", $slides.length); $.data(this, "current", $o.start - 1); $.data(this, "effects", $effects); $.data(this, "size", {width: $o.width, height: $o.width}); $($slides, $e).wrapAll('
"); //$(".slide-title1", $e).show().html($.data(this,"slidesTitle")[n]).wrapInner("
"); //插入下一组信息 //$(".slide-intro1", $e).show().html($.data(this,"slidesIntro1")[n]).wrapInner("
"); //插入下一组信息 //$(".show1", $e).show().html('0'+$.data(this,"slidesNum")[number]+'/ 3').wrapInner("
"); //$(".show1", $e).show().html($.data(this,"slidesNum")[number]).addClass(""+number+""); //$(".show2", $e).show().html($.data(this,"slidesNum")[n]).wrapInner("
"); //console.log($.data(this,"slidesNum")[number]); }else{ $(".slide-title", $e).hide().empty(); } //window.console&&console.log(this._next()+"====="+ this._prev()); if($.data(this,"slidesIntro")[number].length > 0){ $(".slide-intro", $e).show().html($.data(this,"slidesIntro")[number]).wrapInner("
");
}else{
$(".slide-intro", $e).hide().empty();
}
};
/*
* showIndex函数
*/
Plugin.prototype.showIndex = function(index, effect){
var current = $.data(this, "current"), effects = $.data(this, "effects");
if($.inArray(effect, effects) == -1){
effect = tools.randArr(effects);
}
if($.data(this, "autoplay")){
this._play();
}
if(current !== index){
this.resetAni();
this.setActive(index);
this.settings.callback.begin(current, index, this.element);
$.data(this, "current", index);
this.transEffect(current, index, effect);
}
};
/*
* _prev函数
*/
Plugin.prototype._prev = function(){
var index = $.data(this, "current") - 1;
if(index < 0){
index = $.data(this, "total") - 1;
}
return index;
};
/*
* _next函数
*/
Plugin.prototype._next = function(){
var index = $.data(this, "current") + 1;
if(index > $.data(this, "total") - 1){
index = 0;
}
return index;
};
/*
*插件辅助tools
*/
var tools = {
isIE6 : function(){
return !-[1,]&&!window.XMLHttpRequest;
},
randArr: function(arr){
var key = Math.floor(Math.random()*arr.length);
return arr[key];
},
sortNum: function(count, order){
var original = new Array; for (var i=0;i