繁体   English   中英

我已经为外部div编写了代码,我可以在其中上下移动,但不能左右移动

[英]I have written code for outer div, where I am able to move up and down but unable to move left right

请找到附件以获取完整代码。 我想平移外部div,并且该div中的内容具有固定的位置。 (功能就像谷歌地图平移)。

$(document).ready(function() {
var self = {};

$('div').on('mousedown', function(e) {
    self.panStartX = e.pageX;
    self.panStartY = e.pageY;
    self.mouseDown = true;
    self.pageTop = parseInt($(this).css('top'), false) || 20;
    self.pageLeft = parseInt($(this).css('left'), false) || 10;
}).on('mousemove', function(e) {
    if (self.mouseDown) {
        var pageTop = self.pageTop;
        var pageLeft = self.pageLeft;
        self.panEndX = e.pageX;
        self.panEndY = e.pageY;

        if (self.panStartY > self.panEndY) {
            self.panTop = self.panEndY - self.panStartY;
            pageTop+= self.panTop;
            $(this).css({ top: pageTop });
        } else {
            // Down
            self.panTop = self.panStartY - self.panEndY;

            pageTop-= self.panTop;
            if (pageTop > 42) pageTop = 42;

            $(this).css({ top: pageTop });
        }
    }
}).on('mouseup', function(e) {
    self.mouseDown = false;
});

});

提前致谢。 的jsfiddle

HTML结构变化

<div class="outterdiv">


</div>
<div class="innerdiv">
  <form action="/action_page.php">
  <label for="male">Male</label>
  <input type="radio" name="gender" id="male" value="male"><br>
  <label for="female">Female</label>
  <input type="radio" name="gender" id="female" value="female"><br>
  <label for="other">Other</label>
  <input type="radio" name="gender" id="other" value="other"><br><br>
  <input type="submit" value="Submit">
</form>
</div>

CSS更改

.innerdiv {
  position: fixed;
  z-index: 2;
  left: 20px;
  top: 20px;
}

检查这个小提琴

我想这就是您想要的... 现在您可以上下左右移动

CSS:

.outterdiv {
     /* width:2160px; 
      height:3840px; it's remove for clear visualization, you can add it again 
     */ 
      position:absolute;
      background: lightblue;
      //background: url(http://2.bp.blogspot.com/-cdv-Dxy474A/UWMjoBq_vuI/AAAAAAAAFIs/Z4QycYcrkUg/s1600/green-background-pattern-with-warped-vertical-stripes.jpg) left top repeat;
}

jQuery的:

    $(document).ready(function() {
    var self = {};

    $('div').on('mousedown', function(e) {
        self.panStartX = e.pageX;
        self.panStartY = e.pageY;
        self.mouseDown = true;
        self.pageTop = parseInt($(this).css('top'), false) || 20;
        self.pageLeft = parseInt($(this).css('left'), false) || 10;
    }).on('mousemove', function(e) {
        if (self.mouseDown) {
            var pageTop = self.pageTop;
            var pageLeft = self.pageLeft;
            self.panEndX = e.pageX;
            self.panEndY = e.pageY;

            if (self.panStartY > self.panEndY) {
                self.panTop = self.panEndY - self.panStartY;
                pageTop+= self.panTop;
                $(this).css({ top: pageTop });
            } else {
                // Down
                self.panTop = self.panStartY - self.panEndY;

                pageTop-= self.panTop;
                if (pageTop > 42) pageTop = 42;

                $(this).css({ top: pageTop });
            }




            if (self.panStartX > self.panEndX) {
               self.pageLeft = self.panStartX - self.panEndX;                
                pageLeft-= self.pageLeft;              

                $(this).css({ left: pageLeft });
            } else {
                // right

                 self.pageLeft = self.panEndX - self.panStartX;
                pageLeft+= self.pageLeft;
                if (pageLeft > 42) pageLeft = 42;

                $(this).css({ left: pageLeft });
            }
        }
    }).on('mouseup', function(e) {
        self.mouseDown = false;
    });
});

这是预览链接: https : //codepen.io/ziruhel/pen/bYdwYV

使用您的评论请求更新链接: https : //codepen.io/ziruhel/pen/OOVQXR

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM