/* 此插件基于jquery 插件名:jquery.sonline(在线客服插件) 开发者 似懂非懂 版本 1.0 blog:www.haw86.com down:http://www.codefans.net */ (function($){ $.fn.sonline = function(options){ var opts = $.extend({}, $.fn.sonline.defualts, options); $.fn.setlist(opts); //调用列表设置 if(opts.defaultsopen == false){ $.fn.sonline.close(opts.position,0); } //展开 $("#sonlinebox > .opentrigger").live("click",function(){$.fn.sonline.open(opts.position);}); //关闭 $("#sonlinebox > .contentbox > .closetrigger").live("click",function(){$.fn.sonline.close(opts.position,"fast");}); //ie6兼容或滚动方式显示 if ($.browser.msie && ($.browser.version == "6.0") && !$.support.style||opts.effect==true) {$.fn.sonline.scrolltype();} else if(opts.effect==false){$("#sonlinebox").css({position:"fixed"});} } //plugin defaults $.fn.sonline.defualts ={ position:"left",//left或right top:200,//顶部距离,默认200px effect:true, //滚动或者固定两种方式,布尔值:true或 defaultsopen:true, //默认展开:true,默认收缩:false qqlist:"" //多个qq用','隔开,qq和客服名用'|'隔开 } //展开 $.fn.sonline.open = function(positiontype){ var widthvalue = $("#sonlinebox > .contentbox").width(); if(positiontype=="left"){$("#sonlinebox > .contentbox").animate({left: 0},"fast");} else if(positiontype=="right"){$("#sonlinebox > .contentbox").animate({right: 0},"fast");} $("#sonlinebox").css({width:widthvalue+4}); $("#sonlinebox > .opentrigger").hide(); } //关闭 $.fn.sonline.close = function(positiontype,speed){ $("#sonlinebox > .opentrigger").show(); var widthvalue =$("#sonlinebox > .opentrigger").width(); var allwidth =(-($("#sonlinebox > .contentbox").width())-6); if(positiontype=="left"){$("#sonlinebox > .contentbox").animate({left: allwidth},speed);} else if(positiontype=="right"){$("#sonlinebox > .contentbox").animate({right: allwidth},speed);} $("#sonlinebox").animate({width:widthvalue},speed); } //子插件:设置列表参数 $.fn.setlist = function(opts){ $("body").append("
客服中心
"); if(opts.qqlist==""){$("#sonlinebox > .contentbox > .listbox").append("

暂无在线客服。

")} else{var qqlisthtml = $.fn.sonline.splitstr(opts);$("#sonlinebox > .contentbox > .listbox").append(qqlisthtml); } if(opts.position=="left"){$("#sonlinebox").css({left:0});} else if(opts.position=="right"){$("#sonlinebox").css({right:0})} $("#sonlinebox").css({top:opts.top}); var allheights=0; if($("#sonlinebox > .contentbox").height() < $("#sonlinebox > .opentrigger").height()){ allheights = $("#sonlinebox > .opentrigger").height()+4; } else{allheights = $("#sonlinebox > .contentbox").height()+4;} $("#sonlinebox").height(allheights); if(opts.position=="left"){$("#sonlinebox > .opentrigger").css({left:0});} else if(opts.position=="right"){$("#sonlinebox > .opentrigger").css({right:0});} } //滑动式效果 $.fn.sonline.scrolltype = function(){ $("#sonlinebox").css({position:"absolute"}); var topnum = parseint($("#sonlinebox").css("top")+""); $(window).scroll(function(){ var scrolltopnum = $(window).scrolltop();//获取网页被卷去的高 $("#sonlinebox").stop(true,true).delay(0).animate({top:scrolltopnum+topnum},"slow"); }); } //分割qq $.fn.sonline.splitstr = function(opts){ var strs= new array(); //定义一数组 var qqlisttext = opts.qqlist; strs=qqlisttext.split(","); //字符分割 var qqhtml="" for (var i=0;i"+substrs[1]+":点击这里给我发消息" } return qqhtml; } })(jquery);