javascript - 为没有滚动功能的dom元素创建滚动条?
问题描述
我正在尝试创建一个格式化的 json-html 输出。
为此,我正在使用此插件
https://www.npmjs.com/package/jquery.json-viewer
demo:https
://rawgit.com/abodelot/jquery.json-viewer/master/demo.html
它正在工作很好,但如果我向我的 JSON 添加一些对象,可以说我改变了:
"topping": [
{ "id": 5001, "type": "None" },
{ "id": 5002, "type": "Glazed" },
{ "id": 5005, "type": "Sugar" },
{ "id": 5003, "type": "Chocolate" },
{ "id": 5004, "type": "Maple" }
]
像这样:
"topping": [
{ "id": 5001, "type": "None" },
{ "id": 5002, "type": "Glazed" },
{ "id": 5005, "type": "Sugar" },
{ "id": 5003, "type": "Chocolate" },
{ "id": 5004, "type": "Maple" },
{ "id": 5004, "type": "Maple" },
{ "id": 5004, "type": "Maple" },
{ "id": 5004, "type": "Maple" },
{ "id": 5004, "type": "Maple" },
{ "id": 5004, "type": "Maple" },
{ "id": 5004, "type": "Maple" }
]
输出的高度发生变化。
所以,基本上只是增加输出,整个输出高度都会改变。但是我想要一个“固定”的高度并添加一个滚动条,如果输出对于高度来说太大了。
我将如何实现这一目标?
编辑:
我的程序示例:
html div:
<div id="result"></div>
CSS:
output {
min-height: 100px;
max-height:100px;
resize: none;
overflow-y: scroll;
}
JS:(在那里设置一些css设置,因为可以有另一种输出)
function doStuff(outputVal) {
var temp = JSON.parse(outputVal);
$("#result").append('<pre id="output"></pre>');
$('#output').css('background-color','white');
$('#output').css('width','99.3%');
$('#output').jsonViewer(temp);
}
基本上,我在某处有一个按钮,它使用 JSON 字符串调用“doStuff”函数,解析 JSON 字符串并创建一个 dom 元素,并且我使用我之前链接的插件来创建格式化的 JSON 输出,如示例中所示。如果我给出一个适合 100px 高度框(实际上只有 1 个元素)的 JSON 字符串,那么一切看起来都很好,但是如果我给出一个长字符串,框的高度会增加,或者文本会超出框(https://imgur. com/AisQK6e <- 就像这里一样,它有点小,但如果你仔细观察,你会看到输出框上有一些括号)。
基本上我想使用那个插件让我们说在一个带有滚动条的 100px 高度框中输出一个 500 个元素的对象作为 JSON。
抱歉我的语法错误或解释不好,希望它仍然可以以某种方式理解。
这里还有使用
https://github.com/abodelot/jquery.json-viewer/tree/master/json-viewer的插件的源代码
我还尝试将我的问题总结为一张图片,也许它会有所帮助。 https://i.imgur.com/mbOtYb6.png
解决方案
推荐阅读
- javascript - 如何在 Safari 中重新抛出保留的堆栈跟踪?Safari 不显示整个堆栈跟踪
- python - 在 Python 中获取 Windows 版本
- regex - 正则表达式需要 4 个数字字符
- c - 如何将汇编代码链接到内核模块
- android - Android 通知导航到现有活动
- javascript - 将 vis-network 网络复制到另一个画布
- machine-learning - 如何为 YOLO 做图像标注
- php - Windows 10 中的文件 ini_set 在哪里我为什么在这个脚本中有错误
- reactjs - 延迟加载的模块共享相同的依赖项?
- node.js - 创建控制器 API 以显示要在 Node / Sequelize 中更新的日志列表