検索

ホームページ  >  に質問  >  本文

javascript - js获取元素的高度

原生javascript利用元素的height变化来实现元素的“消失”(即height变为0)和“出现”(即元素本身的height),但问题是元素的height一开始手动设置0,如何获取这时候元素本身的高度来实现元素的“出现”。

伊谢尔伦伊谢尔伦2894日前663

全員に返信(6)返信します

  • PHP中文网

    PHP中文网2017-04-10 12:46:25

    这个问题难道不可以用CSS实现么?直接用display:none;消失,display:block;出现。

    返事
    0
  • 阿神

    阿神2017-04-10 12:46:25

    在设置为0之前,先把高度保存起来

    返事
    0
  • 迷茫

    迷茫2017-04-10 12:46:25

    用jQuery

    $element.css({ height: '' });

    返事
    0
  • 黄舟

    黄舟2017-04-10 12:46:25

    如果display:none不是你想要的,那试试 height:auto

    返事
    0
  • 迷茫

    迷茫2017-04-10 12:46:25

    好像之前有这么个做法,把你的元素用js取到,然后用js设置 visibility:hidden; position:absolute;,再使用scrollHeight来取到你的元素的真实高度,之后将这两个样式还原,再用js去控制高度什么的。

    返事
    0
  • PHPz

    PHPz2017-04-10 12:46:25

    两个思路:

    1. clone一份,设置position:absolute,然后设置top为较大的负值,然后使其显示出来,获取到DOM的宽高后,将其remove。
    1. 为该元素设置属性:{ position: "absolute", visibility: "hidden", display:"block" },获取高度后将属性还原。当然,处理的时候不只这么简单,可以参照一下jQuery的swap函数。

    返事
    0
  • キャンセル返事