起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1831|回复: 1

[处理中4] DIV移动问题

[复制链接]

9

主题

16

帖子

46

积分

新手上路

Rank: 1

积分
46
QQ
发表于 2016-9-22 20:53:53 | 显示全部楼层 |阅读模式
按照版主的代码更改如下

define(function(require) {
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");

        var Model = function() {
                this.callParent();
        };

        var mouseX, mouseY; // 鼠标 坐标
        var objX, objY; // div座标
        var isDowm = false; // 是否按下鼠标

        // 鼠标按下时
        Model.prototype.testDivMousedown = function(event) {
                var e = event.originalEvent;
                var obj = this.getElementByXid('testDiv');
                obj.style.cursor = "move";
                objX = obj.style.left;
                objY = obj.style.top;
                mouseX = e.clientX;
                mouseY = e.clientY;
                isDowm = true;
        };

        // 鼠标移动
        Model.prototype.testDivMousemove = function(event) {
                var e = event.originalEvent;
                var obj = this.getElementByXid('testDiv');
                var x = e.clientX;
                var y = e.clientY;
                if (isDowm) {
                        obj.style.left = parseInt(objX) + parseInt(x) - parseInt(mouseX) + "px";
                        obj.style.top = parseInt(objY) + parseInt(y) - parseInt(mouseY) + "px";
                }
        };

        // 鼠标松开
        Model.prototype.testDivMouseup = function(event) {
                var e = event.originalEvent;
                if (isDowm) {
                        var x = e.clientX;
                        var y = e.clientY;
                        var obj = this.getElementByXid('testDiv');
                        obj.style.left = (parseInt(x) - parseInt(mouseX) + parseInt(objX)) + "px";
                        obj.style.top = (parseInt(y) - parseInt(mouseY) + parseInt(objY)) + "px";
                        mouseX = x;
                        rewmouseY = y;
                        obj.style.cursor = "default";
                        isDowm = false;
                }
        };

        return Model;
});




CSS样式我也更改了
    .testDiv
    {
    position:relative;
    border:1px solid red;
    height:100px;
    width:100px;
    top:0px;
    left:0px;
    background-color:#400040;
   /* position:absolute;
    background-color:#400040;
    width:100px;
    height:100px;
    top:50px;
    left:200px;*/
    }

请问大神版主测试了吗..为什么还是无法移动呢!!谢谢大神指导

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-9-23 11:50:56 | 显示全部楼层
不测试怎么给你发。。。。。。你去看在你移动的时候,testDiv的top和left值是否发生变化了,而且你的这个testDiv父容器是什么,是不是父容器你给写死了
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-17 13:41 , Processed in 0.070566 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表