首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XUI移动DIV

使用XUI移动DIV
EN

Stack Overflow用户
提问于 2011-12-13 06:37:15
回答 1查看 479关注 0票数 0

我正在尝试使用xuijs在div上创建拖动效果。我真的不知道该看哪个事件,也不知道听什么,也不知道该怎么做才能让它滑动。

我需要它跟随鼠标的光标移动(只在x轴上移动)

下面是我通常尝试去做的一个例子

代码语言:javascript
复制
<div id="parent" style="width: 100px; height: 20px;">
    <div id="slideMe" style="width: 50px; height: 20px;">
    </div>
</div>

如果单击并拖动slideMe,它应该从一端移动到另一端(上面的html只是一个示例,当然不是完全正确的)

有谁知道如何实现这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-13 07:24:33

你可以给鼠标添加侦听器来捕捉鼠标移动。

代码语言:javascript
复制
window.addEventListener('mousemove', mouseMove, false);

然后你就可以用mouseMove函数移动你的div了。您可以使该div休眠您的光标。

代码语言:javascript
复制
function mouseMove(e) {
    if (IE) {
      Xcord = event.clientX + document.body.scrollLeft;
      Ycord = event.clientY + document.body.scrollTop;
    } else {
      Xcord = e.pageX;
      Ycord = e.pageY;
    }

    if (Xcord < 0) Xcord = 0;
    if (Ycord < 0) Ycord = 0;

    document.getElementById('slideMe').style.top = Ycord + 'px';
    document.getElementById('slideMe').style.left = Xcord + 'px';

    return true
  }

但在此之前,您需要设置div样式,如下所示

代码语言:javascript
复制
#slideMe{
     position:absolute;
}

div编辑:这些功能使休眠您的光标。但是您希望将其移动到另一个div中并向左和向右移动;然后您需要像下面这样更改这些代码。

风格:

代码语言:javascript
复制
 #slideMe{
     position:relative;
 }

功能:

代码语言:javascript
复制
function mouseMove(e) {
    if (IE) {
      Xcord = event.clientX + document.body.scrollLeft;
      Ycord = event.clientY + document.body.scrollTop;
    } else {
      Xcord = e.pageX;
      Ycord = e.pageY;
    }

    if (Xcord < 0) Xcord = 0;
    if (Ycord < 0) Ycord = 0;

    //document.getElementById('slideMe').style.top = Ycord + 'px';
    document.getElementById('slideMe').style.left = Xcord + 'px';

    return true
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8481911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档