jQuery支持拖动的QQ客服悬浮层

jQuery支持拖动的QQ客服悬浮层

jQuery右侧在线客服代码,可自定义在线QQ,或者其他即时通讯聊天按钮的在线客服浮动层代码,支持鼠标拖动效果,可在页面上任何地方拖动客服悬浮层。

淘建站为您提供更多_其它特效_在线客服_客服_qq,在此特别感谢您对我们的支持与厚爱!

查看演示

演示不了,点击反馈

加入收藏

下载 455 次

打赏作者

觉得不错,可打赏下作者

下载资源

免费共享

特别说明:本站资源来自网友发布分享,仅供学习与参考,请勿用于商业用途,若有侵权请联系删除(272966172@qq.com)。

在线客服html代码

<div class="KeFuList">
    <div class="KeFuTitle">在线客服</div>
    <div class="KeFuItem">
        <a target="_blank" href="tencent://message/?uin=87423050&Site=&Menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=1:87423050:3" alt="点我吧"></a>
    </div>
    <div class="KeFuItem">
        <a target="_blank" href="tencent://message/?uin=87423050&Site=&Menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=1:87423050:2" alt="有事点这里"></a>
    </div>
</div>

客服插件online.js

var isIE = /msie/i.test(navigator.userAgent);

function gID(id) {
    return document.getElementById(id);
}

//漂浮
//参数:层ID,记录上次滚动位置(默认可以为空,递归使用)
function ScrollDiv(id, pScrollY) {
    //var ScrollY = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
    var ScrollY = document.documentElement.scrollTop || document.body.scrollTop; //兼容处理
    if (pScrollY == null) {
        pScrollY = 0;
    }

    var moveTop = .1 * (ScrollY - pScrollY); //可调整移动速度
    moveTop = (moveTop > 0) ? Math.ceil(moveTop) : Math.floor(moveTop);
    gID(id).style.top = parseInt(gID(id).style.top) + moveTop + "px";

    pScrollY = pScrollY + moveTop;
    setTimeout("ScrollDiv('" + id + "'," + pScrollY + ");", 50); //可调整滚动后的反映速度
}


//增加事件动作,不冲突原来的事件
//参数,对象,事件名称(带on),事件定义(如果要带参数,则要function(){eventFunc("")}这样传递参数)
function addObjEvent(obj, eventName, eventFunc) {
    if (obj.attachEvent) { //IE
        obj.attachEvent(eventName, eventFunc);
    } else if (obj.addEventListener) { //FF Gecko / W3C
        var eventName2 = eventName.toString().replace(/on(.*)/i, '$1'); //正则过滤第1个on
        obj.addEventListener(eventName2, eventFunc, false); //fslse为倒序执行事件
    } else {
        obj[eventName] = eventFunc;
    }
}


//移除事件动作
//参数,对象,事件名称(带on),事件定义(如果要带参数,则要function(){eventFunc("")}这样传递参数)
function delObjEvent(obj, eventName, eventFunc) {
    if (obj.detachEvent) { // IE
        obj.detachEvent(eventName, eventFunc);
    } else if (obj.removeEventListener) { //FF Gecko / W3C
        var eventName2 = eventName.toString().replace(/on(.*)/i, '$1'); //正则过滤第1个on
        obj.removeEventListener(eventName2, eventFunc, false); //fslse为倒序执行事件
    } else {
        obj[eventName] = null;
    }
}


//可以任意拖动的层(支持Firefox,IE)
//参数,移动的层对象和event对象,方法 onmousedown="MoveDiv(this,event)"
function MoveDiv(obj, e) {
    e = e || window.event;

    var ie6 = isIE;
    if (/msie 9/i.test(navigator.userAgent)) {
        ie6 = false;
    } //把IE9设置为非IE浏览器
    //只允许通过鼠标左键进行拖拽,IE68鼠标左键为1 FireFox ie9其他为0
    if (ie6 && e.button == 1 || !ie6 && e.button == 0) {
    } else {
        return false;
    }

    obj.style.position = 'absolute'; //设置浮动模式
    obj.ondragstart = function() {
        return false;
    } //禁止对象的拖动事件,不然图片在火狐下会无法拖动

    var x = e.screenX - obj.offsetLeft;
    var y = e.screenY - obj.offsetTop;
    addObjEvent(document, 'onmousemove', moving); //鼠标移动时,增加移动事件
    addObjEvent(document, 'onmouseup', endMov); //鼠标放开时,增加停止事件
    e.cancelBubble = true; //禁止事件冒泡,使触发在子对象上的事件不传递给父对象

    //IE去除选中背景文字
    if (isIE) {
        obj.setCapture(); //设置捕获范围 releaseCapture() 释放
    } else {
        window.captureEvents(Event.mousemove); //window.releaseEvents(Event.eventType) 释放
    }

    //if (!isIE){e.stopPropagation();} //W3C 禁止冒泡
    //FireFox 去除容器内拖拽图片问题,火狐防止选中背景文字
    if (e.preventDefault) {
        e.preventDefault(); //取消事件的默认动作
        e.stopPropagation(); //事件不再被分派到其他节点
    }
    e.returnValue = false; //指事件的返回值是false 。return false;是指函数的返回值为false
    return false;

    //移动
    function moving(e) {
        obj.style.left = (e.screenX - x) + 'px';
        obj.style.top = (e.screenY - y) + 'px';
        return false; //图片移动时会出现拖动图片的动作,增加这个return可以不执行这个动作
    }

    //停止
    function endMov(e) {
        delObjEvent(document, 'onmousemove', moving); //删除鼠标移动事件
        delObjEvent(document, 'onmouseup', arguments.callee); //删除鼠标放开事件,arguments.callee为函数本身
        if (isIE) {
            obj.releaseCapture(); //释放捕获
        } else {
            window.releaseEvents(Event.mousemove); //释放
        }
    }
}

制作在线客服代码

gID("KeFuDiv").style.top = (document.documentElement.clientHeight - gID("KeFuDiv").offsetHeight) / 2 + "px";
gID("KeFuDiv").style.left = document.documentElement.clientWidth - gID("KeFuDiv").offsetWidth + "px";
//开始滚动
ScrollDiv('KeFuDiv');

声明:本资料由淘建站会员提供,如转载注明来源,资料来源淘建站免费素材库:https://www.taojz.cn/texiao/837.html
jQuery支持拖动的QQ客服悬浮层 希望对你有帮助,感谢您的支持!
  • jQuery多个在线QQ客服代码

    jQuery多个在线QQ客服代码

  • 简洁右侧栏客服代码

    简洁右侧栏客服代码

  • 蓝色的jquery固定div悬浮在线客服代码

    蓝色的jquery固定div悬浮在线客服代码

  • 绿色清新jQuery在线QQ客服

    绿色清新jQuery在线QQ客服

  • 悬浮右侧可展开搜索的客服代码

    悬浮右侧可展开搜索的客服代码

  • js网页右侧客服在线浮窗代码

    js网页右侧客服在线浮窗代码

  • 常用jQuery网站右侧悬浮在线客服代码

    常用jQuery网站右侧悬浮在线客服代码

  • js悬浮QQ在线客服代码(支持拖动)

    js悬浮QQ在线客服代码(支持拖动)

  • js浮动层制作在线客服float浮动层固定在浏览器左侧

    js浮动层制作在线客服float浮动层固定在浏览器左侧

  • jQuery网页右下角悬浮的美女在线客服代码

    jQuery网页右下角悬浮的美女在线客服代码

  • 有二维码的在线客服代码

    有二维码的在线客服代码

  • jQuery仿美橙官网右侧悬浮固定在线客服代码

    jQuery仿美橙官网右侧悬浮固定在线客服代码

  • 留言(0)
    头像
     阿里云限量代金券,戳我领取
    1 2