我在使div从右侧浮动到恰好50%的屏幕时遇到了问题,我似乎无法弄清楚为什么它不起作用。



myFunction = function() {
  var divPosition = $(".FadeIn").offset();
  alert("Position: " + divPosition.left);
  if (divPosition.right < '200%') {
    $(".FadeIn").animate({
      right: '50%'
    }, 1000);
  } else {
    $(".FadeIn").animate({
      right: '100%'
    }, 1000);
  }
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <input type="button" class="btn btn-primary" name="FadeButton" value="Lees meer..." onclick="myFunction()" />
</div>
<div class="FadeIn">
  Test
</div>





它应该从右边浮动到中间(精确到50%),但是它什么也没做。而且我不知道为什么。

https://jsfiddle.net/mbqxch2d/1/

最佳答案

尝试这个

完整的工作示例JS-Fiddle

还包括用户clickoutside和close按钮。如果我错过了什么,请写评论。

如果您还想要一个垂直居中的框,只需更新我的动画即可:

$moreSocialsContainer.fadeIn().animate({
  right: '50%',
  'margin-right': (((1 - $moreSocialsContainer.outerWidth(true)) + 1) / 2) + 'px',
  top: '50%',
  'margin-top': (((1 - $moreSocialsContainer.outerHeight(true)) + 1) / 2) + 'px'
});

关于javascript - 通过按钮使div float ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40150788/

10-12 19:20