网页右侧悬浮滚动在线qq客服代码示例


Posted in Javascript onApril 28, 2014

网页右侧悬浮滚动QQ在线客服代码

网页右侧悬浮滚动在线qq客服代码示例

function myEvent(obj,ev,fn){
 if (obj.attachEvent){
  obj.attachEvent('on'+ev,fn);
 }else{
  obj.addEventListener(ev,fn,false);
 };
};
function getbyClass(id,sClass){
 var oParent = document.getElementById(id);
 var all = oParent.getElementsByTagName('*');
 var array = [];
 for (var i=0; i<all.length; i++){
  if (all[i].className == sClass){
   array.push(all[i]);
  };
 };
 return array;
};
function getStyle(obj,name){
 if(obj.currentStyle){
  return obj.currentStyle[name];
 }else{
  return getComputedStyle(obj,false)[name];
 };
};
function Running(obj,json,fnEnd){
 clearInterval(obj.timer);
 obj.timer=setInterval(function(){
  var now=0;
  var bStop=true;
  for (var attr in json){
   if(attr=='opacity'){
    now=Math.round(parseFloat(getStyle(obj,attr))*100);
   }else{
    now=parseInt(getStyle(obj,attr));
   };
   var speed=(json[attr]-now)/5;
   speed=speed>0?Math.ceil(speed):Math.floor(speed);
   if(now!=json[attr])bStop=false;
   if(attr=='opacity'){
    obj.style.filter='alpha(opacity:'+now+speed+')';
    obj.style.opacity=(now+speed)/100;
   }else{
    obj.style[attr]=speed+now+'px';
   };
  }
  if(bStop){
   clearInterval(obj.timer);
   if(fnEnd)fnEnd();
  }
 }, 30);
}
function Flexing(obj,json,fnEnd){
 clearInterval(obj.timer);
 obj.timer=setInterval(function(){
  var now=0;
  var bStop=true;
  for (var attr in json){
   if(!obj.speed)obj.speed={};
   if(!obj.speed[attr])obj.speed[attr]=0;
   now=parseInt(getStyle(obj,attr));
   if(Math.abs(json[attr]-now)>1 || Math.abs(obj.speed[attr])>1){
    bStop=false;
    obj.speed[attr]+=(json[attr]-now)/5;
    obj.speed[attr]*=0.85;
    var MaxSpeed=65;
    if(Math.abs(obj.speed[attr])>MaxSpeed){
     obj.speed[attr]=obj.speed[attr]>0?MaxSpeed:-MaxSpeed;
    };
    obj.style[attr]=now+obj.speed[attr]+'px';
   };
  };
  if(bStop){
   clearInterval(obj.timer);
   obj.style[attr]=json[attr]+'px';
   if(fnEnd)fnEnd();
  };
 }, 30);
}
function setqq(obj,num){
 if (obj.length!=num.length){
  alert('\nspan的个数与QQ号码的个数不符,请设置5个QQ号码!\n\n[设置未成功!]');
  return;
 }else{
  for (var i=0; i<num.length; i++){
   obj[i].innerHTML = "<a target='_blank' href='http://wpa.qq.com/msgrd?v=3&uin="+num[i]+"&site=qq&menu=yes'><img border='0' src='http://wpa.qq.com/pa?p=2:"+num[i]+":51' alt='点击咨询' title='点击咨询'/></a>";
  };
 };
};
function settop(id,id2,top){
 var obj = document.getElementById(id);
 var box = document.getElementById(id2);
 obj.style.top = box.style.top = top+'px';
};
function dealy(id,time){
 var obj = document.getElementById(id);
 var timer = setTimeout(function(){
  Flexing(obj,{right:-100});
 },time*1000);
};
function click_fn(id,id2){
 var obj = document.getElementById(id);
 var box = document.getElementById(id2);
 obj.onclick = function(){
  Running(obj,{right:-200},function(){
   box.style.display = 'block';
   Running(box,{right:10, opacity:100});     
  });
 };
 box.onclick = function(){
  timer = setTimeout(function(){
   Running(box,{right:-220,opacity:0},function(){
    box.style.display = 'none';
    Flexing(obj,{right:-100});
   });   
  },3000);
 };
};
Javascript 相关文章推荐
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
Oct 24 Javascript
基于jquery封装的一个js分页
Nov 15 Javascript
node.js中的forEach()是同步还是异步呢
Jan 29 Javascript
原生JS实现美图瀑布流布局赏析
Sep 07 Javascript
Jquery Mobile 自定义按钮图标
Nov 18 Javascript
JavaScript中通过提示框跳转页面的方法
Feb 14 Javascript
浅谈Angular路由守卫
Aug 26 Javascript
利用纯js + transition动画实现移动端web轮播图详解
Sep 10 Javascript
vue项目中定义全局变量、函数的几种方法
Nov 08 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
Jan 18 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
Jul 23 Javascript
JavaScript实现瀑布流布局的3种方式
Dec 27 Javascript
一个简单的jquery进度条示例
Apr 28 #Javascript
javascript处理表单示例(javascript提交表单)
Apr 28 #Javascript
js对象内部访问this修饰的成员函数示例
Apr 27 #Javascript
node.js中的socket.io入门实例
Apr 26 #Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
Apr 25 #Javascript
js控制容器隐藏出现防止样式变化的两种方法
Apr 25 #Javascript
Jquery 点击按钮自动高亮实现原理及代码
Apr 25 #Javascript
You might like
php利用header函数下载各种文件
2016/08/24 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
基于javascript html5实现多文件上传
2016/03/03 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
2016/05/31 Javascript
ES6新特性五:Set与Map的数据结构实例分析
2017/04/21 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
Python contextlib模块使用示例
2015/02/18 Python
Python学习小技巧之列表项的排序
2017/05/20 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
Python版名片管理系统
2018/11/30 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
python文件及目录操作代码汇总
2020/07/08 Python
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
行政管理毕业生自荐信
2014/02/24 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
就业协议书怎么填
2014/09/15 职场文书
2014年大学团支部工作总结
2014/12/02 职场文书
运动会宣传稿100字
2015/07/23 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书