javascript - 根据div的内部文本计算高度

标签 javascript jquery html css

我有一个 PHP 循环来创建多个显示数据库数据的 div。

<?php 

    foreach($result as $row) {
        ?>
        <div class="container-fluid" id="content-fluid">
            <div class="container-update">
                <div class="update-group">
                    <div class="update-header">
                        <?php echo $row['update_title'] ?>
                        <div class="update-author">
                            by <?php echo $row['update_creator'] ?>
                        </div>
                    </div>
                    <div class="update-body">
                        <?php echo $row['update_text']; ?>
                    </div>
                </div>
            </div>
        </div>
        <?php
    }
?>

我通过 jQuery 让它们可以点击并且它们确实增加了高度:

        $(document).ready(function() {

            $('.update-group').click(function() {

                var clicks = $(this).data('clicks');
                if(clicks) {
                    $(this).removeAttr('style');
                }
                else {
                    $(this).animate({height: '200px'}, 300);
                }
                $(this).data("clicks", !clicks);
            });
        });

默认高度设置为特定值,以确保所有 div 具有相同的高度,溢出设置为隐藏。单击它们应根据其中的文本向下展开它们。

文本刚好适合的 Div,根本无法扩展。文本过多的 div 应扩展到计算高度。

我已经设置了一个 jsfiddle 程序来演示我的意思:https://jsfiddle.net/vz6s9brd/

最佳答案

现在它只是动画到 200 像素并返回。我认为您正在寻找这样的东西:

$('.update-group').click(function() {

  var clicks = $(this).data('clicks');
  if(clicks) {
    $(this).removeAttr('style');
  }
  else {
    var bod = $(this).find('.update-body');
    var head = $(this).find('.update-header');
    var neededHeight = bod.height() + head.height();
    if ($(this).height() < neededHeight) {
        $(this).animate({height: neededHeight + 'px'}, 300);
    }

  }
  $(this).data("clicks", !clicks);
});

关于javascript - 根据div的内部文本计算高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38680343/

相关文章:

javascript - 理解 indexOf 和 lastIndexOf

javascript - 模态窗口不合理地变得模糊

javascript - 根据填充的其他输入动态生成选择输入 'required'

java - JSOUP文档结构问题HTML

JavaScript - 未能提交用户名、密码

javascript - concat()、 "="和 "+="之间有区别吗

html - Firefox 中的 purecss.io 网格中断

javascript - 读取通过 FileSaver.js 保存的文件

javascript - getDerivedStateFromProps 在 Redux Reducer 状态更新后不重新渲染

javascript - 将 article 替换为带有一个按钮的 div,该按钮将保留并可以在 article 和 div 内容之间切换