/*
此插件基于Jquery
插件名:jquery.Sonline(在线客服插件)
作者 似懂非懂 版本 2.0 ,协议GPL
Blog:www.haw86.com
*/
(function($){
$.fn.Sonline = function(options){
var opts = $.extend({}, $.fn.Sonline.defualts, options);
$.fn.setList(opts); //调用列表设置
$.fn.Sonline.styleType(opts);
if(opts.DefaultsOpen == false){
$.fn.Sonline.closes(opts.Position,0);
}
//展开
//$("#SonlineBox > .openTrigger").live("click",function(){$.fn.Sonline.opens(opts);});
//关闭
//$("#SonlineBox > .contentBox > .closeTrigger").live("click",function(){$.fn.Sonline.closes(opts.Position,"fast");});
//live() 方法在 jQuery 版本 1.7 中被废弃(1.7也支持on),在版本 1.9 中被移除。请使用 on() 方法代替。
$("#SonlineBox > .openTrigger").on("click", "", function(){
$.fn.Sonline.opens(opts);
});
$("#SonlineBox > .contentBox > .closeTrigger").on("click",function(){
$.fn.Sonline.closes(opts.Position,"fast");
});
// 手机和平板端默认收缩
if($(window).width() <= 768){
$.fn.Sonline.closes(opts.Position,0);
}
//Ie6兼容或滚动方式显示
if ($.browser && ($.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或
Width:170,//顶部距离,默认200px
DefaultsOpen:true, //默认展开:true,默认收缩:false
Style:1,//图标的显示风格,默认显示:1
Tel:"",//服务热线
Title:"在线客服",//服务热线
FooterText:'',
Website:'',
IconColor: '#FFF',
ThemeColor: '',
Qqlist:"" //多个QQ用','隔开,QQ和客服名用'|'隔开
}
//展开
$.fn.Sonline.opens = function(opts){
var positionType = opts.Position;
$("#SonlineBox").css({width:opts.Width+4});
if(positionType=="left"){$("#SonlineBox > .contentBox").animate({left: 0},"fast");}
else if(positionType=="right"){$("#SonlineBox > .contentBox").animate({right: 0},"fast");}
$("#SonlineBox > .openTrigger").hide();
$("#SonlineBox").css('overflow','visible');
}
//关闭
$.fn.Sonline.closes = 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").css('overflow','hidden').animate({width:widthValue},speed);
}
//风格选择
$.fn.Sonline.styleType = function(opts){
var typeNum = 41;
return typeNum;
}
//子插件:设置列表参数
$.fn.setList = function(opts){
$("body").append("
"+opts.Title+"
"+opts.FooterText+"
");
$("#SonlineBox > .contentBox").width(opts.Width)
if(opts.Qqlist==""){
$("#SonlineBox > .contentBox > .tels").css("border",0);
}else{
var style = opts.Style;
if(1==style){ //传统
$.fn.Sonline.showStyle1(opts);
}else if(2==style){ //图标
$.fn.Sonline.showStyle2(opts);
}else if(3==style){ //图标+标题
$.fn.Sonline.showStyle3(opts);
}
}
if(opts.Position=="left"){$("#SonlineBox").css({left:0});}
else if(opts.Position=="right"){$("#SonlineBox").css({right:0})}
$("#SonlineBox").css({top:opts.Top,width:opts.Width+4});
setTimeout(function(){
var allHeights=0;
if($("#SonlineBox > .contentBox").height() < $("#SonlineBox > .openTrigger").height()){
allHeights = $("#SonlineBox > .openTrigger").height()+4;
} else{allHeights = $("#SonlineBox > .contentBox").height()+40;}
$("#SonlineBox").height(allHeights);
},50)
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,false).delay(200).animate({top:scrollTopNum+topNum},"slow");
});
}
$.fn.Sonline.showStyle1 = function(opts){
var qqListHtml = $.fn.Sonline.splitStr1(opts);
$("#SonlineBox > .contentBox > .listBox").append(qqListHtml);
}
$.fn.Sonline.showStyle2 = function(opts){
var qqListHtml = $.fn.Sonline.splitStr2(opts);
$("#SonlineBox > .contentBox > .listBox").append(qqListHtml);
$(".SonlineBox2 .contentBox .listBox .item").css({width: opts.Width + 'px', 'height': opts.Width + 'px', 'line-height': opts.Width + 'px', 'color': opts.IconColor, 'background-color': opts.ThemeColor})
$(".SonlineBox2 .contentBox .listBox .item i").css("font-size", opts.Width / 2 + 'px');
$(".SonlineBox2 .contentBox .listBox .item .triangle").css({top: opts.Width / 2 - 7 + 'px'});
$(".SonlineBox2 .contentBox .listBox .item.footer").css('line-height', opts.Width + 'px').hover(function(){
$(".SonlineBox2 .contentBox .tels").addClass('show').css('bottom', opts.Width / 2 - 25 + 'px');
},function(){
$(".SonlineBox2 .contentBox .tels").removeClass('show');
});
}
$.fn.Sonline.showStyle3 = function(opts){
var qqListHtml = $.fn.Sonline.splitStr2(opts);
$("#SonlineBox > .contentBox > .listBox").append(qqListHtml);
$(".SonlineBox2 .contentBox .listBox .item span.title").css('display', 'block');
$(".SonlineBox2 .contentBox .listBox .item").css({width: opts.Width + 'px', 'height': opts.Width + 'px', 'color': opts.IconColor, 'background-color': opts.ThemeColor})
$(".SonlineBox2 .contentBox .listBox .item i").css({"font-size": opts.Width / 2 + 'px'});
$(".SonlineBox2 .contentBox .listBox .item .triangle").css({top: opts.Width / 2 - 7 + 'px'});
$(".SonlineBox2 .contentBox .listBox .item.footer").css('line-height', opts.Width + 'px').hover(function(){
$(".SonlineBox2 .contentBox .tels").addClass('show').css('bottom', opts.Width / 2 - 25 + 'px');
},function(){
$(".SonlineBox2 .contentBox .tels").removeClass('show');
});
}
//分割QQ
$.fn.Sonline.splitStr1 = function(opts){
var strs= new Array(); //定义一数组
var QqlistText = opts.Qqlist;
strs=QqlistText.split(","); //字符分割
var alt = "";
var QqHtml=""
for (var i=0;i"+subStrs[1]+":