- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
如 https://developer.mozilla.org/en/Determining_the_dimensions_of_elements 所述:
If you need to know the actual size of the content, regardless of how much of it is currently visible, you need to use the scrollWidth and scrollHeight properties.
因此,我使用 scrollWidth 和 scrollHeight 属性将元素的大小调整为其实际大小 ( jsfiddle)。
HTML:
<textarea>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad brrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</textarea>
JavaScript:
(function ($) {
$(document).ready(function () {
$('textarea').css({
width: $('textarea')[0].scrollWidth,
height: $('textarea')[0].scrollHeight
});
});
})(jQuery);
我会假设如果我将尺寸设置为内容的实际大小,元素将没有滚动条,因为它的尺寸足够大以使内容不会溢出。正确的?所以它应该是你在这张图片中看到的方式:i.stack.imgur.com/lKxoz.png
但它不能正常工作,如下图所示:
IE:i.stack.imgur.com/JXt0e.png
Chrome:i.stack.imgur.com/emGyG.png
歌剧:i.stack.imgur.com/7MAX5.png
我的问题是scrollWidth 和scrollHeight 属性有什么问题?它们给我无效的尺寸!
最佳答案
问题是您没有包括滚动条的大小。尝试将“溢出”设置为“隐藏”或添加滚动条的大小,它会起作用。有多种方法可以计算该大小,Google 会帮助您。出于测试目的,请在 Windows 和 17px 上使用 Chrome。
根据您使用此代码段的上下文,您可能需要在内容更改时重置大小。您还应该给文本区域一个固定的宽度,否则浏览器会分配任何感觉。
(function ($) {
$(document).ready(function () {
$('textarea').css({
width: $('textarea')[0].scrollWidth+'px',
height: $('textarea')[0].scrollHeight+'px',
overflow: 'hidden'
});
});
})(jQuery);
关于javascript - scrollWidth/scrollHeight 给出无效尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7369924/
使用纯 Javascript 或 jQuery,我需要获得滚动元素的完整高度。但是 DOM 属性 scrollHeight is apparently not 100% reliable . 我设想暂
我正在创建一个指令,其中我需要三个值- 滚动到顶部 偏移高度 滚动高度 projectModule.directive('scroller', function ($window) { return
我已经使用 javascript 和 php 开发了一个聊天系统,但问题是当收到新消息或消息越来越多并且当收到新消息时它会滚动,用户必须滚动自定义才能转到底部,所以我尝试添加 javascript 以
我正在尝试让 css 过渡与我正在使用 Angular 7 开发的 Accordion 元素一起使用,以便在底部展开时使用。因为我自己不打算使用该元素,所以我使用 overflow-y: visibl
如何使用 css overflow:auto 确定分区的 scrollHeight? 我试过: $('test').scrollHeight(); $('test').height(); but th
$('#div1').scrollTop($('#div1')[0].scrollHeight) 我的意思是,为什么我们需要在所选元素后面指定 [0]。它说明什么?它似乎没有指示 div 元素的子元素
我正在尝试检索主体的 scrollHeight 以重置 id="background1"的 div 的大小。如果在我的外部 css 中我将该 id 设置为 position:absolute scro
我想在没有 jQuery 的情况下学习一些东西。这是我面临的挑战之一。 我有一个固定的 contenteditable div,当向 div 添加文本时,如果 scrollHeight 超过 clie
如 https://developer.mozilla.org/en/Determining_the_dimensions_of_elements 所述: If you need to know th
我正在检查并比较 body.offsetHeight 与 body.scrollHeight。 放大窗口大小总是会抛出相同的值,但缩小窗口有时会导致“跳跃”值,所以我的 Div 上会闪烁。在 Chro
我的问题分为两部分: 问题的第一部分: 测试一个: t1 = new Date().getTime(); for (i=0; i document.getElementById("di
我编写了这个简单的函数,它工作正常,但我正在努力让它变得更好一点。 我有一个文本区域,它会在滚动高度发生变化时调整大小,问题是当我按下回车键(即向下一行 -\n)时,高度会随着它的更新而跳变,因为滚动
我有一个 div在 td 里面标签(位于 tr 标签内)。这div有一个自定义指令需要 $watch scrollHeight元素的: My very long text
我有一段 JS 代码,判断是否有垂直滚动条,并将 CSS 类应用于元素。没什么大不了的。令我困惑的是,它似乎在做与我理解它应该做的相反的事情。这不是问题,除非它是一个错误并且在未来被修复。 代码: i
所以我正在检查一些动态生成的内容的滚动高度,以确定是否在内容中包含更多按钮。用户可以点击更多按钮来展开内容并查看里面的所有内容。然而,每次使用相同的函数时,有时它会说元素的 scrollHeight
我正在尝试检测 div 是否有可见的垂直滚动条 但是当尝试将 scrollHeight 与 clientHeight 进行比较时,我发现 scrollHeight 大了 1 if (div.sc
我有这个习惯 . 在.select_list里面我有一个 ul与 height:300px;和 overflow:hidden;当我将按钮悬停在 .select_list 中时正在向上或向下滚动。 我
有没有其他方法可以在不使用scrollHeight的情况下获取某个HTML元素的内部高度? 问题是,我有一个包含 100 条记录的表,在每条记录中,我使用 height=0 然后 height=scr
我有一个 container div,它有一个 innerdiv,后者又有多个 div 元素。最外面的容器 div 具有更大的高度,y 轴溢出。我正在尝试为 innerdiv 提供背景颜色,但这种样式
所以我正在尝试创建一种方法来检测 body 何时调整大小,然后我获取新的高度并通过邮件发送它。功能不正常的部分是当我缩小 body 尺寸时(当我删除(隐藏)一些元素使 body 缩小时)。这不会被检测
我是一名优秀的程序员,十分优秀!