【问题标题】:How to align a div at the center of a page using Jquery?如何使用 Jquery 在页面中心对齐 div?
【发布时间】:2015-03-03 00:09:58
【问题描述】:

我使用下面的 css 代码将我的 div 定位在页面的中心:

.content{
 width:1000px;
 height:600px;
 margin:auto;
 margin-top:auto;
}

我的要求:
我想使用 JQuery 在 $(document).ready(function () {} 中实现上述内容。最初我将分配 div 负位置并将其隐藏。然后在 document.ready 中我想显示它并为 div 分配设置动画以上属性。

我尝试实现相同的功能。我可以指定宽度和高度,但 margin:auto 和 margin-top:auto;不工作。

如果有人可以指导我会非常有帮助..!!

这就是我正在做的事情:
http://jsfiddle.net/rgd9mwjz/

我需要看到 div 从 -5550px 移动到 div 中心的动画。如何做到这一点?

【问题讨论】:

标签: javascript jquery css


【解决方案1】:

查看此演示:

http://jsfiddle.net/60c977nf/

$(document).ready(function()
{
   $('.content').css('display','block'); 
   $('.content').addClass('other_properties');
});

我在文档就绪状态下向 div .content 添加了一个新类,并在 css 文件中指定了新样式。这将使您更容易使用 css 文件本身编写新样式。

如果您想使用 jQuery 本身添加样式,请使用 .css() 属性本身。

【讨论】:

  • 如果您想更新答案,可以详细说明问题。
【解决方案2】:

您不需要 jQuery 来使项目居中,我在示例中使用它在 div 上添加了一个类,使其从左到右:

$(function() {
    $("div").addClass("shown");
});
*
{
    margin: 0;
    padding: 0;
}

html, body
{
    height: 100%;
}

div
{
    top: 50%;
    left: -50%;
    background: darkred;
    width: 100px;
    height: 100px;
    position: relative;
    transform: translate(-50%, -50%);
    -moz-transition: .5s ease;
    -webkit-transition: .5s ease;
}

div.shown
{
    left: 50%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>

【讨论】:

  • 我想使用 JQuery。我打算实现一些其他功能。
  • 我在回答中使用了 jQuery。你看我的回答给出的结果了吗?它看起来像你想要的吗?
  • 你的回答绝对没问题。但我需要修改我的 jQuery 代码。我正在寻找与此相关的答案..!!
  • 您使用 jQuery 设置样式。对我来说,更好的方法是操作(添加、删除、切换)CSS 类(在您的 CSS 样式表中定义)。 12 行 JS,创建一个使 HTML 项目居中的函数,这对我来说是典型的矫枉过正。
【解决方案3】:

我在这个帖子Using jQuery to center a DIV on the screen找到了一个有趣的回复

希望对你有帮助!

【讨论】:

  • 谢谢大卫.. 我很早就看到了这篇文章。我想要的是 div 的动画。请参阅更新后的问题。
  • 我使用 jQuery 的动画函数 (api.jquery.com/animate) 捕获我提供的链接使用的值,并将它们传递到数组中。示例:$("#your_element_id").animate( { "position":"absolute", "top": Math.max(0, (($(window).height() - $(this).outerHeight()) / 2) + $(window).scrollTop()) + "px", "left" : Math.max(0, (($(window).width() - $(this).outerWidth()) / 2) + $(window).scrollLeft()) + "px"}, 5000);
猜你喜欢
  • 2012-02-15
  • 2019-10-14
  • 2012-03-30
  • 2023-03-03
  • 1970-01-01
  • 2013-09-27
  • 1970-01-01
  • 1970-01-01
  • 2011-02-05
相关资源
最近更新 更多