(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_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);