(function($) {
$.fn.kinslideshow = function(settings) {
settings = jquery.extend({
intervaltime: 5,
movespeedtime: 400,
movestyle: "left",
mouseevent: "mouseclick",
ishastitlebar: true,
titlebar: {
titlebar_height: 30,
titlebar_bgcolor: "#000000",
titlebar_alpha: 0.7
},
ishastitlefont: true,
titlefont: {
titlefont_size: 14,
titlefont_color: "#ffffff",
titlefont_family: "microsoft yahei",
titlefont_weight: "bold"
},
ishasbtn: true,
btn: {
btn_bgcolor: "#ea8224",
btn_bghovercolor: "#1a58a5",
btn_fontcolor: "#ffffff",
btn_fonthovercolor: "#000000",
btn_fontfamily: "microsoft yahei",
btn_bordercolor: "#ed9545",
btn_borderhovercolor: "#438ada",
btn_borderwidth: 1,
btn_bgalpha: 0.7
}
}, settings);
var titlebar_bak = {
titlebar_height: 30,
titlebar_bgcolor: "#000000",
titlebar_alpha: 0.7
}
var titlefont_bak = {
titlefont_size: 14,
titlefont_color: "#ffffff",
titlefont_family: "microsoft yahei",
titlefont_weight: "bold"
}
var btn_bak = {
btn_bgcolor: "#ea8224",
btn_bghovercolor: "#1a58a5",
btn_fontcolor: "#ffffff",
btn_fonthovercolor: "#000000",
btn_fontfamily: "microsoft yahei",
btn_bordercolor: "#ed9545",
btn_borderhovercolor: "#438ada",
btn_borderwidth: 1,
btn_bgalpha: 0.7
}
for (var key in titlebar_bak) {
if (settings.titlebar[key] == undefined) {
settings.titlebar[key] = titlebar_bak[key];
}
}
for (var key in titlefont_bak) {
if (settings.titlefont[key] == undefined) {
settings.titlefont[key] = titlefont_bak[key];
}
}
for (var key in btn_bak) {
if (settings.btn[key] == undefined) {
settings.btn[key] = btn_bak[key];
}
}
var kinslideshow_boxobject = this;
var kinslideshow_boxobjectselector = $(kinslideshow_boxobject).selector;
var kinslideshow_datearray = new array();
var kinslideshow_imgaelength = 0;
var kinslideshow_size = new array();
var kinslideshow_changeflag = 0;
var kinslideshow_intervaltime = settings.intervaltime;
var kinslideshow_setinterval;
var kinslideshow_firstmoveflag = true;
if (isnan(kinslideshow_intervaltime) || kinslideshow_intervaltime <= 1) {
kinslideshow_intervaltime = 5;
}
if (settings.movespeedtime > 500) {
settings.movespeedtime = 500;
} else if (settings.movespeedtime < 1) {
settings.movespeedtime = 1;
}
function kinslideshow_initialize() {
$(kinslideshow_boxobject).css({
visibility: "hidden"
});
$(kinslideshow_boxobjectselector + " a img").css({
border: 0
});
kinslideshow_start();
kinslideshow_mousehover();
};
function kinslideshow_start() {
kinslideshow_imgaelength = $(kinslideshow_boxobjectselector + " a").length;
kinslideshow_size.push($(kinslideshow_boxobjectselector + " a img").width());
kinslideshow_size.push($(kinslideshow_boxobjectselector + " a img").height());
$(kinslideshow_boxobjectselector + " a img").each(function(i) {
kinslideshow_datearray.push($(this).attr("alt"));
});
$(kinslideshow_boxobjectselector + " a").wrapall("
");
$("#kinslideshow_content").clone().attr("id", "kinslideshow_contentclone").appendto(kinslideshow_boxobject);
kinslideshow_settitlebar();
kinslideshow_settitlefont();
kinslideshow_setbtn();
kinslideshow_action();
kinslideshow_btnevent(settings.mouseevent);
$(kinslideshow_boxobject).css({
visibility: "visible"
});
};
function kinslideshow_settitlebar() {
$(kinslideshow_boxobject).css({
width: kinslideshow_size[0],
height: kinslideshow_size[1],
overflow: "hidden",
position: "relative"
});
$(kinslideshow_boxobject).append("");
var gettitlebar_height = settings.titlebar.titlebar_height;
if (isnan(gettitlebar_height)) {
gettitlebar_height = 30;
} else if (gettitlebar_height < 25) {
gettitlebar_height = 25;
};
$(kinslideshow_boxobjectselector + " .kinslideshow_titlebar").css({
height: gettitlebar_height,
width: "100%",
position: "absolute",
bottom: 0,
left: 0
})
if (settings.ishastitlebar) {
$(kinslideshow_boxobjectselector + " .kinslideshow_titlebar").css({
background: settings.titlebar.titlebar_bgcolor,
opacity: settings.titlebar.titlebar_alpha
})
}
};
function kinslideshow_settitlefont() {
if (settings.ishastitlefont) {
$(kinslideshow_boxobjectselector + " .kinslideshow_titlebar").append("");
$(kinslideshow_boxobjectselector + " .kinslideshow_titlebar .title").css({
fontsize: settings.titlefont.titlefont_size,
color: settings.titlefont.titlefont_color,
fontfamily: settings.titlefont.titlefont_family,
fontweight: settings.titlefont.titlefont_weight
});
settiltfontshow(0);
};
};
function kinslideshow_setbtn() {
if (settings.btn.btn_borderwidth > 2) {
settings.btn.btn_borderwidth = 2
}
if (settings.btn.btn_borderwidth < 0 || isnan(settings.btn.btn_borderwidth)) {
settings.btn.btn_borderwidth = 0
}
if (settings.ishasbtn && kinslideshow_imgaelength >= 2) {
$(kinslideshow_boxobject).append("");
var kinslideshow_btnlist = "";
for (i = 1; i <= kinslideshow_imgaelength; i++) {
kinslideshow_btnlist += "" + i + "";
}
kinslideshow_btnlist = "" + kinslideshow_btnlist + "
";
$(kinslideshow_boxobjectselector + " .kinslideshow_btnbox").append(kinslideshow_btnlist);
$(kinslideshow_boxobjectselector + " .kinslideshow_btnbox #btnlistid li").css({
liststyle: "none",
float: "left",
width: 18,
height: 18,
borderwidth: settings.btn.btn_borderwidth,
bordercolor: settings.btn.btn_bordercolor,
borderstyle: "solid",
background: settings.btn.btn_bgcolor,
textalign: "center",
cursor: "pointer",
marginleft: 3,
fontsize: 13,
fontfamily: settings.btn.btn_fontfamily,
lineheight: "18px",
opacity: settings.btn.btn_bgalpha,
color: settings.btn.btn_fontcolor
});
$("#btnlistid li:eq(0)").css({
background: settings.btn.btn_bghovercolor,
bordercolor: settings.btn.btn_borderhovercolor,
color: settings.btn.btn_fonthovercolor
});
};
};
function kinslideshow_action() {
switch (settings.movestyle) {
case "left":
kinslideshow_moveleft();
break;
case "right":
kinslideshow_moveright();
break;
case "up":
kinslideshow_moveup();
break;
case "down":
kinslideshow_movedown();
break;
default:
settings.movestyle = "left";
kinslideshow_moveleft();
}
};
function kinslideshow_moveleft() {
$(kinslideshow_boxobjectselector + " div:lt(2)").wrapall("");
$("#kinslideshow_movebox").css({
width: kinslideshow_size[0],
height: kinslideshow_size[1],
overflow: "hidden",
position: "relative"
});
$("#kinslideshow_content").css({
float: "left"
});
$("#kinslideshow_contentclone").css({
float: "left"
});
$(kinslideshow_boxobjectselector + " #kinslideshow_movebox div").wrapall("");
$(kinslideshow_boxobjectselector + " #kinslideshow_xposbox").css({
float: "left",
width: "2000%"
});
kinslideshow_setinterval = setinterval(function() {
kinslideshow_move(settings.movestyle)
}, kinslideshow_intervaltime * 1000 + settings.movespeedtime);
};
function kinslideshow_moveright() {
$(kinslideshow_boxobjectselector + " div:lt(2)").wrapall("");
$("#kinslideshow_movebox").css({
width: kinslideshow_size[0],
height: kinslideshow_size[1],
overflow: "hidden",
position: "relative"
});
$("#kinslideshow_content").css({
float: "left"
});
$("#kinslideshow_contentclone").css({
float: "left"
});
$(kinslideshow_boxobjectselector + " #kinslideshow_movebox div").wrapall("");
$(kinslideshow_boxobjectselector + " #kinslideshow_xposbox").css({
float: "left",
width: "2000%"
});
$("#kinslideshow_contentclone").html("");
$("#kinslideshow_content a").wrap("")
$("#kinslideshow_content a").each(function(i) {
$("#kinslideshow_contentclone").prepend($("#kinslideshow_content span:eq(" + i + ")").html());
})
$("#kinslideshow_content").html($("#kinslideshow_contentclone").html());
var kinslideshow_offsetleft = (kinslideshow_imgaelength - 1) * kinslideshow_size[0];
$("#kinslideshow_movebox").scrollleft(kinslideshow_offsetleft);
kinslideshow_setinterval = setinterval(function() {
kinslideshow_move(settings.movestyle)
}, kinslideshow_intervaltime * 1000 + settings.movespeedtime);
};
function kinslideshow_moveup() {
$(kinslideshow_boxobjectselector + " div:lt(2)").wrapall("");
$("#kinslideshow_movebox").css({
width: kinslideshow_size[0],
height: kinslideshow_size[1],
overflow: "hidden",
position: "relative"
});
$("#kinslideshow_movebox").animate({
scrolltop: 0
}, 1);
kinslideshow_setinterval = setinterval(function() {
kinslideshow_move(settings.movestyle)
}, kinslideshow_intervaltime * 1000 + settings.movespeedtime);
};
function kinslideshow_movedown() {
$(kinslideshow_boxobjectselector + " div:lt(2)").wrapall("");
$("#kinslideshow_movebox").css({
width: kinslideshow_size[0],
height: kinslideshow_size[1],
overflow: "hidden",
position: "relative"
});
$("#kinslideshow_contentclone").html("");
$("#kinslideshow_content a").wrap("")
$("#kinslideshow_content a").each(function(i) {
$("#kinslideshow_contentclone").prepend($("#kinslideshow_content span:eq(" + i + ")").html());
})
$("#kinslideshow_content").html($("#kinslideshow_contentclone").html());
var kinslideshow_offsettop = (kinslideshow_imgaelength - 1) * kinslideshow_size[1];
$("#kinslideshow_movebox").animate({
scrolltop: kinslideshow_offsettop
}, 1);
kinslideshow_setinterval = setinterval(function() {
kinslideshow_move(settings.movestyle)
}, kinslideshow_intervaltime * 1000 + settings.movespeedtime);
};
function kinslideshow_move(style) {
switch (style) {
case "left":
if (kinslideshow_changeflag >= kinslideshow_imgaelength) {
kinslideshow_changeflag = 0;
$("#kinslideshow_movebox").scrollleft(0);
$("#kinslideshow_movebox").animate({
scrollleft: kinslideshow_size[0]
}, settings.movespeedtime);
} else {
sp = (kinslideshow_changeflag + 1) * kinslideshow_size[0];
if ($("#kinslideshow_movebox").is(':animated')) {
$("#kinslideshow_movebox").stop();
$("#kinslideshow_movebox").animate({
scrollleft: sp
}, settings.movespeedtime);
} else {
$("#kinslideshow_movebox").animate({
scrollleft: sp
}, settings.movespeedtime);
}
}
settiltfontshow(kinslideshow_changeflag + 1);
break;
case "right":
var kinslideshow_offsetleft = (kinslideshow_imgaelength - 1) * kinslideshow_size[0];
if (kinslideshow_changeflag >= kinslideshow_imgaelength) {
kinslideshow_changeflag = 0;
$("#kinslideshow_movebox").scrollleft(kinslideshow_offsetleft + kinslideshow_size[0]);
$("#kinslideshow_movebox").animate({
scrollleft: kinslideshow_offsetleft
}, settings.movespeedtime);
} else {
if (kinslideshow_firstmoveflag) {
kinslideshow_changeflag++;
kinslideshow_firstmoveflag = false;
}
sp = kinslideshow_offsetleft - (kinslideshow_changeflag * kinslideshow_size[0]);
if ($("#kinslideshow_movebox").is(':animated')) {
$("#kinslideshow_movebox").stop();
$("#kinslideshow_movebox").animate({
scrollleft: sp
}, settings.movespeedtime);
} else {
$("#kinslideshow_movebox").animate({
scrollleft: sp
}, settings.movespeedtime);
}
}
settiltfontshow(kinslideshow_changeflag);
break;
case "up":
if (kinslideshow_changeflag >= kinslideshow_imgaelength) {
kinslideshow_changeflag = 0;
$("#kinslideshow_movebox").scrolltop(0);
$("#kinslideshow_movebox").animate({
scrolltop: kinslideshow_size[1]
}, settings.movespeedtime);
} else {
sp = (kinslideshow_changeflag + 1) * kinslideshow_size[1];
if ($("#kinslideshow_movebox").is(':animated')) {
$("#kinslideshow_movebox").stop();
$("#kinslideshow_movebox").animate({
scrolltop: sp
}, settings.movespeedtime);
} else {
$("#kinslideshow_movebox").animate({
scrolltop: sp
}, settings.movespeedtime);
}
}
settiltfontshow(kinslideshow_changeflag + 1);
break;
case "down":
var kinslideshow_offsetleft = (kinslideshow_imgaelength - 1) * kinslideshow_size[1];
if (kinslideshow_changeflag >= kinslideshow_imgaelength) {
kinslideshow_changeflag = 0;
$("#kinslideshow_movebox").scrolltop(kinslideshow_offsetleft + kinslideshow_size[1]);
$("#kinslideshow_movebox").animate({
scrolltop: kinslideshow_offsetleft
}, settings.movespeedtime);
} else {
if (kinslideshow_firstmoveflag) {
kinslideshow_changeflag++;
kinslideshow_firstmoveflag = false;
}
sp = kinslideshow_offsetleft - (kinslideshow_changeflag * kinslideshow_size[1]);
if ($("#kinslideshow_movebox").is(':animated')) {
$("#kinslideshow_movebox").stop();
$("#kinslideshow_movebox").animate({
scrolltop: sp
}, settings.movespeedtime);
} else {
$("#kinslideshow_movebox").animate({
scrolltop: sp
}, settings.movespeedtime);
}
}
settiltfontshow(kinslideshow_changeflag);
break;
}
kinslideshow_changeflag++;
}
function settiltfontshow(index) {
if (index == kinslideshow_imgaelength) {
index = 0
};
if (settings.ishastitlefont) {
$(kinslideshow_boxobjectselector + " .kinslideshow_titlebar h2").html(kinslideshow_datearray[index]);
};
$("#btnlistid li").each(function(i) {
if (i == index) {
$(this).css({
background: settings.btn.btn_bghovercolor,
bordercolor: settings.btn.btn_borderhovercolor,
color: settings.btn.btn_fonthovercolor
});
} else {
$(this).css({
background: settings.btn.btn_bgcolor,
bordercolor: settings.btn.btn_bordercolor,
color: settings.btn.btn_fontcolor
});
}
})
};
function kinslideshow_btnevent(event) {
switch (event) {
case "mouseover":
kinslideshow_btnmouseover();
break;
case "mouseclick":
kinslideshow_btnmouseclick();
break;
default:
kinslideshow_btnmouseclick();
}
};
function kinslideshow_btnmouseover() {
$("#btnlistid li").mouseover(function() {
var curliindex = $("#btnlistid li").index($(this));
switch (settings.movestyle) {
case "left":
kinslideshow_changeflag = curliindex - 1;
break;
case "right":
if (kinslideshow_firstmoveflag) {
kinslideshow_changeflag = curliindex - 1;
break;
} else {
kinslideshow_changeflag = curliindex;
break;
}
case "up":
kinslideshow_changeflag = curliindex - 1;
break;
case "down":
if (kinslideshow_firstmoveflag) {
kinslideshow_changeflag = curliindex - 1;
break;
} else {
kinslideshow_changeflag = curliindex;
break;
}
}
kinslideshow_move(settings.movestyle);
$("#btnlistid li").each(function(i) {
if (i == curliindex) {
$(this).css({
background: settings.btn.btn_bghovercolor,
bordercolor: settings.btn.btn_borderhovercolor,
color: settings.btn.btn_fonthovercolor
});
} else {
$(this).css({
background: settings.btn.btn_bgcolor,
bordercolor: settings.btn.btn_bordercolor,
color: settings.btn.btn_fontcolor
});
}
})
})
};
function kinslideshow_btnmouseclick() {
$("#btnlistid li").click(function() {
var curliindex = $("#btnlistid li").index($(this));
switch (settings.movestyle) {
case "left":
kinslideshow_changeflag = curliindex - 1;
break;
case "right":
if (kinslideshow_firstmoveflag) {
kinslideshow_changeflag = curliindex - 1;
break;
} else {
kinslideshow_changeflag = curliindex;
break;
}
case "up":
kinslideshow_changeflag = curliindex - 1;
break;
case "down":
if (kinslideshow_firstmoveflag) {
kinslideshow_changeflag = curliindex - 1;
break;
} else {
kinslideshow_changeflag = curliindex;
break;
}
}
kinslideshow_move(settings.movestyle);
$("#btnlistid li").each(function(i) {
if (i == curliindex) {
$(this).css({
background: settings.btn.btn_bghovercolor,
bordercolor: settings.btn.btn_borderhovercolor,
color: settings.btn.btn_fonthovercolor
});
} else {
$(this).css({
background: settings.btn.btn_bgcolor,
bordercolor: settings.btn.btn_bordercolor,
color: settings.btn.btn_fontcolor
});
}
})
})
};
function kinslideshow_mousehover() {
$("#btnlistid li").mouseover(function() {
clearinterval(kinslideshow_setinterval);
})
$("#btnlistid li").mouseout(function() {
kinslideshow_setinterval = setinterval(function() {
kinslideshow_move(settings.movestyle)
}, kinslideshow_intervaltime * 1000 + settings.movespeedtime);
})
};
return kinslideshow_initialize();
};
})(jquery);