有思俱乐部学习园地

U.UF.E.piture.stretch 图片拉伸处理


函数源码

//U.UF.E.piture.stretch 图片拉伸控件
//效果:激活图片拉伸功能
//param1 (elemt) 编辑器元素
U.UF.E.piture.stretch = function (parent) {
    var _click, _obj, _X, _Y, _mouseX, _mouseY, _moveX, _moveY, _height, _width, _iheight, _iwidth, _down = false;
    var _border = xunikuang(12);
    parent.onmousemove = function (e) {
        if (e.target.nodeName == "IMG") {
            _obj = e.target;
            var _width = parseInt($(e.target).css("width"));
            //得到图片的宽度
            var _height = parseInt($(e.target).css("height"));
            //得到图片的高度
            _border.startNext(_width, _height, _border, e.target, 12);
            //显示虚拟框,初始化虚拟框的数据

        }
        if (e.target.nodeName != "IMG" && !_down) {
            _border.img.style.display = "none";
            //隐藏虚拟框
        }
    };
    document.onmousedown = function (e) {
        if (e.target.className === "img_button") {
            //判断点击的元素是不是需要的
            _click = e.target.id;
            //是就记住其id
            _down = true;
            //赋值
            _X = _mouseX;
            //赋值横轴定量
            _Y = _mouseY;
            //赋值纵轴定量
            _height = parseInt($(_obj).css("height"));
            //赋值高度定量
            _width = parseInt($(_obj).css("width"));
            //赋值宽度定量
            _border.height = parseInt($(_border.img).css("height"));
            //赋值虚拟框高度定量
            _border.width = parseInt($(_border.img).css("width"));
            //赋值虚拟框宽度定量
        }
    };
    document.onmouseup = function (e) {
        if (_down) {
            //判断点击了吗
            _down = false;
            //初始化
            _obj.style.width = _width - _moveX + "px";
            //赋值
            _obj.style.height = _height - _moveY + "px";
            //赋值
        }
    };
    document.onmousemove = function (e) {
        _mouseX = e.clientX;
        _mouseY = e.clientY;
        if (_down) {
            //判断是否可以拉伸
            _moveX = 0, _moveY = 0;
            //清空移动的数据
            if (_click.length == 2 || _click == "w" || _click == "e" || _click == "l" || _click == "r") {
                //是否是可以移动的时候
                _moveX = _X - _mouseX;
                //计算移动的横坐标距离
                _border.countX(_border, _moveX, 12);
                //处理虚拟框的宽高,和圆圈位置
            }
            if (_click.length == 2 || _click == "n" || _click == "s" || _click == "t" || _click == "b") {
                //是否是可以移动的时候
                _moveY = _Y - _mouseY;
                //计算移动的纵坐标距离
                _border.countY(_border, _moveY, 12);
                //处理虚拟框的宽高,和圆圈位置
            }
        }
    }
}

工作人员

 
作者:15互联网G5-2 柏洋
信息录入: 15互联网G5-2 柏洋