jquery移动端拖动div

Jquery是目前最常用的JavaScript库之一,可以方便地实现很多前端交互效果。在移动端中,我们经常会遇到需要拖动div的情况,下面就来介绍如何使用jQuery实现移动端拖动div。

$(document).ready(function(){
    var myDiv = $("#myDiv");

    var isMouseDown = false;
    var currentX,currentY,startX,startY;

    myDiv.mousedown(function(e){
        e.preventDefault();
        isMouseDown = true;
        startX = e.pageX - myDiv.offset().left;
        startY = e.pageY - myDiv.offset().top;
    });

    $(document).mouseup(function(){
        isMouseDown = false;
    });

    $(document).mousemove(function(e){
        if(isMouseDown){
            currentX = e.pageX - myDiv.parent().offset().left - startX;
            currentY = e.pageY - myDiv.parent().offset().top - startY;
            myDiv.css({
                left: currentX + "px",top: currentY + "px"
            });
        }
    });
});

jquery移动端拖动div

上面的代码就是实现移动端拖动div的代码,通过给div添加mousedown、mousemove和mouseup事件来实现。当鼠标按下时,获取鼠标点击位置与div左上角的距离,当鼠标移动时,计算div应当移动的位置,最后通过css方法实现div的移动。

需要注意的是,由于移动端的屏幕大小不一定相同,因此应当使用相对位置来移动div,即使用parent()方法获取div的父元素,再减去父元素的offset值,这样才能在不同屏幕上保证div的正确移动。

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...