jquery - 居中 JQuery 无法正常工作

标签 jquery html css web

我在 Jquery 上有一个函数,它以包含文本的 div 为中心,它看起来像这样:

function center_paragraph(){
    var w=$("#paragrah").width();
    var finalw=w/2;
    alert(w+"/2="+finalw); //Test
    $("#paragraph").css({
        'left':'50%',
        'margin-left':-finalw
    });
}

我的问题是方法 width 返回一个错误的值,比如 1000 而 div 大约是 600。我使用这个方法是因为 div 位于绝对位置。

div CSS:

 #paragraph{
    font-family:'Arial';
    font-size:4em;
    color:white;
    font-weight:bold;
    position:absolute;
    display:none;
    border:solid 1px white;

}

我没有在 CSS 文件中这样做,因为每个屏幕都可以显示另一种尺寸的文本,所以我认为这是计算中心的正确方法。

最佳答案

你真的应该为此使用 CSS。对此有一个理想的属性

p {
    text-align: center
}

但如果你坚持使用 JS/jQuery 来做,这里是方法

var button = document.getElementById("my-button");
var par = document.getElementById("paragraph");
    
button.addEventListener("click", function() {
    par.style.textAlign = "center";
});
<p id="paragraph">
  This is a paragraph
</p>

<button id="my-button">
  Center Paragraph
</button>

jQuery 解决方案

$("button").on("click", function() {
  $("p").css({ "text-align": "center" });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p id="par">
  This is a paragraph
</p>

<button id="my-button">
  Center Paragraph
</button>

这样可以省去计算宽度的麻烦

关于jquery - 居中 JQuery 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34124321/

相关文章:

javascript - 使用javascript点击更改DIV中的文本

jquery - 如何使用 npm 从 svelte 使用 jquery 和数据表

javascript - 设置 CSS 对象的旋转点

javascript - 在我的案例中如何检测 div 冲突?

css - 默认 JavaFX-CSS

asp.net - 在 VB 中更改元素的 CSS 样式

javascript - 将文本区域内容发送到 javascript 函数

javascript - 如何使用 javascript 将 JSON 对象的值转换为字符串

javascript - 隐藏显示表格行

javascript - 如何停止按钮摆动并使它们在 div 中居中?