js 解决movebox移动问题 取消图片默认拖动事件

html


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <link href="../Content/StyleSheet5.css" rel="stylesheet" />
    <script src="../Scripts/JavaScript5.js"></script>
    <title></title>
	<meta charset="utf-8" />
</head>
<body>
    <div id="center">
        <div id="black"></div>
        <div id="movebox">
            <img id="moveimg" src="../Images/b.jpg"/>
        </div>
        <img id="bigimg" src="../Images/b.jpg" />
    </div>
</body>
</html>

js

var movebox;
window.onload = function () {
    movebox = document.getElementById("movebox");
    movebox.addEventListener("mousedown", function (e) {
        if (e.button > 0) {
            fun2();
            return false;
        }
        e.preventDefault && e.preventDefault(); //明哥:去掉图片拖动响应  狠重要
        gen.x = e.clientX;
        gen.y = e.clientY;
        gen._x = movebox.offsetLeft;
        gen._y = movebox.offsetTop;
        gen.dx = gen.x - gen._x;
        gen.dy = gen.y - gen._y;
        document.addEventListener("mousemove",fun1,false);
        document.addEventListener("mouseup", fun2, false);
    }, false);
};
var fun1 = function (e) {
    gen.L = e.clientX - gen.dx;
    gen.T = e.clientY - gen.dy;
    var timefun = function () {
        window.getSelection().removeAllRanges();
        if (gen.L < 100)
            gen.L = 100;
        else if (gen.L > 200)
            gen.L = 200;
        if (gen.T < 125)
            gen.T = 125;
        else if (gen.T > 175)
            gen.T = 175;
        setLT(movebox, gen.L, gen.T);
    };
    setTimeout(timefun, 2);
};
var fun2 = function () {
    document.removeEventListener("mousemove", fun1, false);
    document.removeEventListener("mouseuo", fun2, false);
};
var gen = {
    x: null,
    y: null,
    _x: null,
    _y: null,
    dx: null,
    dy: null,
    L: null,
    T:null,
};
var setLT = function (dom, L, T) {
    dom.style.left = L + "px";
    dom.style.top = T + "px";
};


css

body {
    position:absolute;
    margin:0;
    padding:0;
}
#center{
    position:absolute;
    top:200px;
    left:300px;
    width:400px;
    height:400px;
    background-color:#808080;
}
#black{
    position:absolute;
    width:400px;
    height:400px;
    z-index:80;
    background-color:#000;
    opacity:0.6;
}
#bigimg{
    z-index:50;
    position:absolute;
    left:100px;
    top:125px;
}
#movebox{
    z-index:100;
    position:absolute;
    width:100px;
    height:100px;
    left:150px;
    top:150px;
    overflow:hidden;
    cursor:move;
    background-color:#ff6a00;
}
#moveimg{
    position:absolute;
    left:-50px;
    top:-25px;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值