/** * ��ӭʹ�� kinslideshow �õ�ƭ������ͼ����� * * jquery kinslideshow plugin * ========================================��˵����======================================================== * jquery�õ�ƭ���������������������ҳ��ʹ�ûõ�ƭ(����ͼ)ч��������ie6/ie7/ie8/ie9,firefox,chrome,opera�� * ʹ�ü��䷽�㡢�򵥣������ʽ�����զ���,���嶨����ʽ��������������������μ�demo�ļ� * ������img��ǩ���� ����ͼƭ�ŀ�ⱥ͸߶� �է�ֹ����̫�� js��ȡ����ͼƭ��ʵ����� * ���п�ⱥ͸߶ȵ�λ�������أ����ò���ʱ����ҫ�ӵ�λ(px) * ��kinslideshow 1.2 ������ͬһҳ����ʹ�ö��kinslideshowч����2010-09-15�� * ��kinslideshow 1.2.1 �޸���ie8����ģʽ�� ���ⲻ�л������⣬ҳ����ie�ں���������磺���σ�qq�����5����ie8�����²��л������⡾2010-11-01�����޸������ñ������͸��������ҳ��̳�͸�������⡣ * ======================================================================================================== * @name jquery.kinslideshow.js * @version 1.2.1 * @author mr.kin * @date 2010-11-01 * @email:mr.kin@foxmail.com * * ����ȡ���°汾kinslideshow���dz���bug���뷢��email�� ��mr.kin@foxmail.com�� * ��ʵ��ӧ��ʱ����ɾ���˶�ע�͡� **/ (function($) { $.fn.kinslideshow = function(settings){ settings = jquery.extend({ intervaltime : 5, movespeedtime : 400, movestyle:"left", mouseevent:"mouseclick", ishastitlebar:true, titlebar:{titlebar_height:40,titlebar_bgcolor:"#000000",titlebar_alpha:0.5}, ishastitlefont:true, titlefont:{titlefont_size:12,titlefont_color:"#ffffff",titlefont_family:"verdana",titlefont_weight:"bold"}, ishasbtn:true, btn:{btn_bgcolor:"#666666",btn_bghovercolor:"#cc0000",btn_fontcolor:"#cccccc",btn_fonthovercolor:"#000000",btn_fontfamily:"verdana",btn_bordercolor:"#999999",btn_borderhovercolor:"#ff0000",btn_borderwidth:1,btn_bgalpha:0.7} },settings); var titlebar_bak = {titlebar_height:40,titlebar_bgcolor:"#000000",titlebar_alpha:0.5} var titlefont_bak = {titlefont_size:12,titlefont_color:"#ffffff",titlefont_family:"verdana",titlefont_weight:"bold"} var btn_bak = {btn_bgcolor:"#666666",btn_bghovercolor:"#cc0000",btn_fontcolor:"#cccccc",btn_fonthovercolor:"#000000",btn_fontfamily:"verdana",btn_bordercolor:"#999999",btn_borderhovercolor:"#ff0000",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 ksthis = this; var ksbs = $(ksthis).selector; var kss_datearray = new array(); var kss_imgaelength = 0; var kss_size =new array(); var kss_changeflag = 0; var kss_intervaltime = settings.intervaltime; var kss_setinterval; var kss_firstmoveflag = true; var gettitlebar_height; if(isnan(kss_intervaltime) || kss_intervaltime <= 1){ kss_intervaltime = 5; } if(settings.movespeedtime > 500){ settings.movespeedtime = 500; }else if(settings.movespeedtime < 100){ settings.movespeedtime = 100; } function kss_initialize(){ $(ksthis).css({visibility:"hidden"}); $(ksbs+" a img").css({border:0}); kss_start(); kss_mousehover(); }; function kss_start(){ kss_imgaelength = $(ksbs+" a").length; kss_size.push($(ksbs+" a img").width()); kss_size.push($(ksbs+" a img").height()); $(ksbs+" a img").each(function(i){ kss_datearray.push($(this).attr("alt")); }); $(ksbs+" a").wrapall("
"); $(ksbs).find("#kss_content").clone().attr("id","kss_contentclone").appendto(ksthis); kss_settitlebar(); kss_settitlefont(); kss_setbtn(); kss_action(); kss_btnevent(settings.mouseevent); $(ksthis).css({visibility:"visible"}); }; function kss_settitlebar(){ $(ksthis).css({width:kss_size[0],height:kss_size[1],overflow:"hidden",position:"relative"}); $(ksthis).append("
"); gettitlebar_height = settings.titlebar.titlebar_height; if(isnan(gettitlebar_height)){ gettitlebar_height = 40; }else if(gettitlebar_height < 25){ gettitlebar_height = 25; } $(ksbs+" .kss_titlebar").css({height:gettitlebar_height,width:950,position:"absolute",bottom:11,left:15}) if(settings.ishastitlebar){ $(ksbs+" .kss_titlebar").css({background:settings.titlebar.titlebar_bgcolor,opacity:settings.titlebar.titlebar_alpha}) } }; function kss_settitlefont(){ if(settings.ishastitlefont){ $(ksthis).append("

"); $(ksbs+" .kss_titlebox").css({height:gettitlebar_height,width:"100%",position:"absolute",bottom:11,left:0}) $(ksbs+" .kss_titlebox h2").css({fontsize:settings.titlefont.titlefont_size,color:settings.titlefont.titlefont_color,fontfamily:settings.titlefont.titlefont_family,fontweight:settings.titlefont.titlefont_weight}); settiltfontshow(0); }; }; function kss_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 && kss_imgaelength >= 2){ $(ksthis).append("
"); var kss_btnlist = ""; for(i=1;i<=kss_imgaelength;i++){ kss_btnlist+="
  • "+i+"
  • "; } kss_btnlist = ""; $(ksbs+" .kss_btnbox").append(kss_btnlist); $(ksbs+" .kss_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:12,fontfamily:settings.btn.btn_fontfamily,lineheight:"18px",opacity:settings.btn.btn_bgalpha,color:settings.btn.btn_fontcolor}); $(ksbs+" #btnlistid li:eq(0)").css({background:settings.btn.btn_bghovercolor,bordercolor:settings.btn.btn_borderhovercolor,color:settings.btn.btn_fonthovercolor}); }; }; function kss_action(){ switch(settings.movestyle){ case "left": kss_moveleft(); break; case "right": kss_moveright();break; case "up": kss_moveup(); break; case "down": kss_movedown(); break; default: settings.movestyle = "left"; kss_moveleft(); } }; function kss_moveleft(){ $(ksbs+" div:lt(2)").wrapall("
    "); $(ksbs).find("#kss_movebox").css({width:kss_size[0],height:kss_size[1],overflow:"hidden",position:"relative"}); $(ksbs).find("#kss_content").css({float:"left"}); $(ksbs).find("#kss_contentclone").css({float:"left"}); $(ksbs+" #kss_movebox div").wrapall("
    "); $(ksbs).find("#kss_xposbox").css({float:"left",width:"2000%"}); kss_setinterval = setinterval(function(){kss_move(settings.movestyle)},kss_intervaltime*1000+settings.movespeedtime); }; function kss_moveright(){ $(ksbs+" div:lt(2)").wrapall("
    "); $(ksbs).find("#kss_movebox").css({width:kss_size[0],height:kss_size[1],overflow:"hidden",position:"relative"}); $(ksbs).find("#kss_content").css({float:"left"}); $(ksbs).find("#kss_contentclone").css({float:"left"}); $(ksbs+" #kss_movebox div").wrapall("
    "); $(ksbs).find("#kss_xposbox").css({float:"left",width:"2000%"}); $(ksbs).find("#kss_contentclone").html(""); $(ksbs+" #kss_content a").wrap("") $(ksbs+" #kss_content a").each(function(i){ $(ksbs).find("#kss_contentclone").prepend($(ksbs+" #kss_content span:eq("+i+")").html()); }) $(ksbs).find("#kss_content").html($(ksbs).find("#kss_contentclone").html()); var kss_offsetleft = (kss_imgaelength-1)*kss_size[0]; $(ksbs).find("#kss_movebox").scrollleft(kss_offsetleft); kss_setinterval = setinterval(function(){kss_move(settings.movestyle)},kss_intervaltime*1000+settings.movespeedtime); }; function kss_moveup(){ $(ksbs+" div:lt(2)").wrapall("
    "); $(ksbs).find("#kss_movebox").css({width:kss_size[0],height:kss_size[1],overflow:"hidden",position:"relative"}); $(ksbs).find("#kss_movebox").animate({scrolltop: 0}, 1); kss_setinterval = setinterval(function(){kss_move(settings.movestyle)},kss_intervaltime*1000+settings.movespeedtime); }; function kss_movedown(){ $(ksbs+" div:lt(2)").wrapall("
    "); $(ksbs).find("#kss_movebox").css({width:kss_size[0],height:kss_size[1],overflow:"hidden",position:"relative"}); $(ksbs).find("#kss_contentclone").html(""); $(ksbs+" #kss_content a").wrap("") $(ksbs+" #kss_content a").each(function(i){ $(ksbs).find("#kss_contentclone").prepend($(ksbs+" #kss_content span:eq("+i+")").html()); }) $(ksbs).find("#kss_content").html($(ksbs).find("#kss_contentclone").html()); var kss_offsettop = (kss_imgaelength-1)*kss_size[1]; $(ksbs).find("#kss_movebox").animate({scrolltop: kss_offsettop}, 1); kss_setinterval = setinterval(function(){kss_move(settings.movestyle)},kss_intervaltime*1000+settings.movespeedtime); }; function kss_move(style){ switch(style){ case "left": if(kss_changeflag >= kss_imgaelength){ kss_changeflag = 0; $(ksbs).find("#kss_movebox").scrollleft(0); $(ksbs).find("#kss_movebox").animate({scrollleft:kss_size[0]}, settings.movespeedtime); }else{ sp =(kss_changeflag+1)*kss_size[0]; if ($(ksbs).find("#kss_movebox").is(':animated')){ $(ksbs).find("#kss_movebox").stop(); $(ksbs).find("#kss_movebox").animate({scrollleft: sp}, settings.movespeedtime); }else{ $(ksbs).find("#kss_movebox").animate({scrollleft: sp}, settings.movespeedtime); } } settiltfontshow(kss_changeflag+1); break; case "right": var kss_offsetleft = (kss_imgaelength-1)*kss_size[0]; if(kss_changeflag >= kss_imgaelength){ kss_changeflag = 0; $(ksbs).find("#kss_movebox").scrollleft(kss_offsetleft+kss_size[0]); $(ksbs).find("#kss_movebox").animate({scrollleft:kss_offsetleft}, settings.movespeedtime); }else{ if(kss_firstmoveflag){ kss_changeflag++; kss_firstmoveflag = false; } sp =kss_offsetleft-(kss_changeflag*kss_size[0]); if ($(ksbs).find("#kss_movebox").is(':animated')){ $(ksbs).find("#kss_movebox").stop(); $(ksbs).find("#kss_movebox").animate({scrollleft: sp}, settings.movespeedtime); }else{ $(ksbs).find("#kss_movebox").animate({scrollleft: sp}, settings.movespeedtime); } } settiltfontshow(kss_changeflag); break; case "up": if(kss_changeflag >= kss_imgaelength){ kss_changeflag = 0; $(ksbs).find("#kss_movebox").scrolltop(0); $(ksbs).find("#kss_movebox").animate({scrolltop:kss_size[1]}, settings.movespeedtime); }else{ sp =(kss_changeflag+1)*kss_size[1]; if ($(ksbs).find("#kss_movebox").is(':animated')){ $(ksbs).find("#kss_movebox").stop(); $(ksbs).find("#kss_movebox").animate({scrolltop: sp}, settings.movespeedtime); }else{ $(ksbs).find("#kss_movebox").animate({scrolltop: sp}, settings.movespeedtime); } } settiltfontshow(kss_changeflag+1); break; case "down": var kss_offsetleft = (kss_imgaelength-1)*kss_size[1]; if(kss_changeflag >= kss_imgaelength){ kss_changeflag = 0; $(ksbs).find("#kss_movebox").scrolltop(kss_offsetleft+kss_size[1]); $(ksbs).find("#kss_movebox").animate({scrolltop:kss_offsetleft}, settings.movespeedtime); }else{ if(kss_firstmoveflag){ kss_changeflag++; kss_firstmoveflag = false; } sp =kss_offsetleft-(kss_changeflag*kss_size[1]); if ($(ksbs).find("#kss_movebox").is(':animated')){ $(ksbs).find("#kss_movebox").stop(); $(ksbs).find("#kss_movebox").animate({scrolltop: sp}, settings.movespeedtime); }else{ $(ksbs).find("#kss_movebox").animate({scrolltop: sp}, settings.movespeedtime); } } settiltfontshow(kss_changeflag); break; } kss_changeflag++; } function settiltfontshow(index){ if(index == kss_imgaelength){index = 0}; if(settings.ishastitlefont){ $(ksbs+" .kss_titlebox h2.title").html(kss_datearray[index]); }; $(ksbs+" #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 kss_btnevent(event){ switch(event){ case "mouseover" : kss_btnmouseover(); break; case "mouseclick" : kss_btnmouseclick(); break; default : kss_btnmouseclick(); } }; function kss_btnmouseover(){ $(ksbs+" #btnlistid li").mouseover(function(){ var curliindex = $(ksbs+" #btnlistid li").index($(this)); switch(settings.movestyle){ case "left" : kss_changeflag = curliindex-1; break; case "right" : if(kss_firstmoveflag){ kss_changeflag = curliindex-1; break; }else{ kss_changeflag = curliindex; break; } case "up" : kss_changeflag = curliindex-1; break; case "down" : if(kss_firstmoveflag){ kss_changeflag = curliindex-1; break; }else{ kss_changeflag = curliindex; break; } } kss_move(settings.movestyle); $(ksbs+" #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 kss_btnmouseclick(){ $(ksbs+" #btnlistid li").click(function(){ var curliindex = $(ksbs+" #btnlistid li").index($(this)); switch(settings.movestyle){ case "left" : kss_changeflag = curliindex-1; break; case "right" : if(kss_firstmoveflag){ kss_changeflag = curliindex-1; break; }else{ kss_changeflag = curliindex; break; } case "up" : kss_changeflag = curliindex-1; break; case "down" : if(kss_firstmoveflag){ kss_changeflag = curliindex-1; break; }else{ kss_changeflag = curliindex; break; } }; kss_move(settings.movestyle); $(ksbs+" #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 kss_mousehover(){ $(ksbs+" #btnlistid li").mouseover(function(){ clearinterval(kss_setinterval); }) $(ksbs+" #btnlistid li").mouseout(function(){ kss_setinterval = setinterval(function(){kss_move(settings.movestyle)},kss_intervaltime*1000+settings.movespeedtime); }) }; return kss_initialize(); }; })(jquery);