图片放大缩小可拖动

图片放大缩小可拖动

添加时间:2021-02-23 08:11:41
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:jQuery插件
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

鼠标放到图片上,滚动鼠标可放大缩小图片,移动鼠标可拖动图片
图片放大缩小可拖动
分类:其它特效 > jQuery插件 难易:初级

img.js

var params = {
    flage: false, //判断是否可以拖动
    moveX: 0,
    moveY: 0,
    curX: 0,
    curY: 0,
    downX: 0,
    downY: 0,
    boxW: 0,
    boxH: 0,
    imgW: 0,
    imgH: 0
}
var moveImg = function(obj) {
    $(obj).mousedown(function(e) {
        e.preventDefault();
        params.downX = e.clientX; //当前点击的X轴位置
        params.downY = e.clientY; //当前点击的y轴位置
        params.curX = $(this).css("left"); //距离左边的位置

        params.curY = $(this).css("top"); //距离右边的位置

        params.boxW = $(this).parent().width(); //父级元素的宽
        params.boxH = $(this).parent().height(); //父元素的高
        params.imgW = $(this).width() - params.boxW; //可移动的X轴距离
        params.imgH = $(this).height() - params.boxH; //可移动的Y轴距离

        if (params.boxH < $(this).height() || params.boxW < $(this).width()) {
            params.flage = true;
        }
    })
    $(document).mouseup(function(e) {
        params.flage = false;
    })
    $(obj).mousemove(function(e) {
        e.preventDefault()
        if (params.flage == true) {
            params.moveX = e.clientX - params.downX;
            params.moveY = e.clientY - params.downY;

            var mX = parseInt(params.moveX) + parseInt(params.curX);
            var mY = parseInt(params.moveY) + parseInt(params.curY);
            if (mX < -params.imgW) {
                mX = -params.imgW
            } else if (mX > 0) {
                mX = 0
            }
            if (mY < -params.imgH) {
                mY = -params.imgH;
            } else if (mY > 0) {
                mY = 0;
            }
            $(".box img").css({"left": mX, "top": mY});
        }

    })
}


var zoom;
var direction;
var imgZoom = function(objId) { //拖动图片
    var imgId = document.getElementById(objId);
    zoom = parseInt(imgId.style.zoom, 10) || 100;

    /* 
     * 滚轮事件只有firefox比较特殊,使用DOMMouseScroll; 其他浏览器使用mousewheel;
     * 
     */
    // firefox
    document.body.addEventListener("DOMMouseScroll", function(event) {
        direction = event.detail && (event.detail > 0 ? "mousedown" : "mouseup");
        imgFun(direction, objId)

    });

    // chrome and ie
    document.body.onmousewheel = function(event) {
        event = event || window.event;

        direction = event.wheelDelta && (event.wheelDelta > 0 ? "mouseup" : "mousedown");
        console.log(objId)
        imgFun(direction, objId)
    };
}

function imgFun(dir, id) { //缩放图片
    var img = document.getElementById(id);
    if (zoom > 500)
        zoom = 500;
    else if (zoom < 100)
        zoom = 100;

    if (dir == "mouseup") {
        zoom += 10
        img.style.width = zoom + '%';
    } else {
        zoom -= 10
        img.style.width = zoom + '%';
    }

    if (zoom > 100) { //当图片的百分比大于100%时才可以拖动图片
        img.style.cursor = "move";
    } else {
        img.style.cursor = "default";
    }
}
<div class="box">
    <img src="images/hehua.jpg" id="img"/>
</div>
<script type="text/javascript" src="js/img.js" ></script>
$(function() {
    moveImg(".box img"); //拖动图片
    imgZoom('img'); //放大缩小图片
})
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:图片放大缩小可拖动

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.098534s