js打开支持拖动的弹出层

js打开支持拖动的弹出层

js打开一个带有动画效果的弹出层,并且鼠标可拖动,兼容主流浏览器。

淘建站为您提供更多_悬浮层/弹出层_拖动_弹出层_拖拽,在此特别感谢您对我们的支持与厚爱!

查看演示

演示不了,点击反馈

加入收藏

下载 58 次

打赏作者

觉得不错,可打赏下作者

下载资源

免费共享

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

点击按钮和浮动层html代码

<div class="btnbox">
    <a class="od" onClick="show('feedbox');return false;" href="#">[打开层]</a>
    <a class="od" onclick="closeed('feedbox');return false;" href="#">[关闭层]</a>
</div>

<div id="feedbox" style="display:none;">
    <div class="main">移动层</div>
</div>

js拖动弹出层

var prox;
var proy;
var proxc;
var proyc;
function show(id) {
    clearInterval(prox);
    clearInterval(proy);
    clearInterval(proxc);
    clearInterval(proyc);
    var o = document.getElementById(id);
    o.style.display = "block";
    o.style.width = "1px";
    o.style.height = "1px";
    prox = setInterval(function() {
        openx(o, 500)
    }, 10);
}
function openx(o, x) {
    var cx = parseInt(o.style.width);
    if (cx < x) {
        o.style.width = (cx + Math.ceil((x - cx) / 5)) + "px";
    } else {
        clearInterval(prox);
        proy = setInterval(function() {
            openy(o, 200)
        }, 10);
    }
}

function openy(o, y) {
    var cy = parseInt(o.style.height);
    if (cy < y) {
        o.style.height = (cy + Math.ceil((y - cy) / 5)) + "px";
    } else {
        clearInterval(proy);
    }
}

function closeed(id) {
    clearInterval(prox);
    clearInterval(proy);
    clearInterval(proxc);
    clearInterval(proyc);
    var o = document.getElementById(id);
    if (o.style.display == "block") {
        proyc = setInterval(function() {
            closey(o)
        }, 10);
    }
}

function closey(o) {
    var cy = parseInt(o.style.height);
    if (cy > 0) {
        o.style.height = (cy - Math.ceil(cy / 5)) + "px";
    } else {
        clearInterval(proyc);
        proxc = setInterval(function() {
            closex(o)
        }, 10);
    }
}

function closex(o) {
    var cx = parseInt(o.style.width);
    if (cx > 0) {
        o.style.width = (cx - Math.ceil(cx / 5)) + "px";
    } else {
        clearInterval(proxc);
        o.style.display = "none";
    }
}

/*-------------------------鼠标拖动---------------------*/
var od = document.getElementById("feedbox");
var dx, dy, mx, my, mouseD;
var odrag;
var isIE = document.all ? true : false;
document.onmousedown = function(e) {
    var e = e ? e : event;
    if (e.button == (document.all ? 1 : 0)) {
        mouseD = true;
    }
}

document.onmouseup = function() {
    mouseD = false;
    odrag = "";
    if (isIE) {
        od.releaseCapture();
        od.filters.alpha.opacity = 100;
    } else {
        window.releaseEvents(od.MOUSEMOVE);
        od.style.opacity = 1;
    }
}


//function readyMove(e){ 
od.onmousedown = function(e) {
    odrag = this;
    var e = e ? e : event;
    if (e.button == (document.all ? 1 : 0)) {
        mx = e.clientX;
        my = e.clientY;
        od.style.left = od.offsetLeft + "px";
        od.style.top = od.offsetTop + "px";
        if (isIE) {
            od.setCapture();
            od.filters.alpha.opacity = 50;
        } else {
            window.captureEvents(Event.MOUSEMOVE);
            od.style.opacity = 0.5;
        }
    }
}

document.onmousemove = function(e) {
    var e = e ? e : event;
    if (mouseD == true && odrag) {
        var mrx = e.clientX - mx;
        var mry = e.clientY - my;
        od.style.left = parseInt(od.style.left) + mrx + "px";
        od.style.top = parseInt(od.style.top) + mry + "px";
        mx = e.clientX;
        my = e.clientY;
    }
}

声明:本资料由淘建站会员提供,如转载注明来源,资料来源淘建站免费素材库:https://www.taojz.cn/texiao/821.html
js打开支持拖动的弹出层 希望对你有帮助,感谢您的支持!
  • jquery顶部带弹簧效果弹出层点击click事件文本弹跳框

    jquery顶部带弹簧效果弹出层点击click事件文本弹跳框

  • 拖拽DIV

    拖拽DIV

  • 原生js网格图片拖拽位置和大小变换效果

    原生js网格图片拖拽位置和大小变换效果

  • jQuery鼠标拖拽组织结构图代码

    jQuery鼠标拖拽组织结构图代码

  • 原生js鼠标拖拽图片交换位置效果代码

    原生js鼠标拖拽图片交换位置效果代码

  • 可以实现拖拽的案例

    可以实现拖拽的案例

  • jQuery点击遮罩弹出层固定网页中间

    jQuery点击遮罩弹出层固定网页中间

  • jquery CSS3制作简洁遮罩弹出层动画代码

    jquery CSS3制作简洁遮罩弹出层动画代码

  • jQuery实现平面图区域标记拖拽移动效果

    jQuery实现平面图区域标记拖拽移动效果

  • HTML5截图功能 可拖拽图片DEMO演示

    HTML5截图功能 可拖拽图片DEMO演示

  • jQ 可拖拽弹窗

    jQ 可拖拽弹窗

  • jquery colorbox弹出层插件制作图片弹出显示代码

    jquery colorbox弹出层插件制作图片弹出显示代码

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